• Android 日期控件的简单实现


    main.xml

    <?xml version="1.0" encoding="utf-8"?>  
      
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"  
      
        android:orientation="vertical" android:layout_width="fill_parent"  
      
        android:layout_height="fill_parent">  
      
        <TextView android:layout_width="fill_parent"  
      
           android:layout_height="wrap_content" android:text="日期控件的使用DEMO" />  
      
        <LinearLayout android:orientation="horizontal"  
      
           android:layout_width="fill_parent" android:layout_height="wrap_content">  
      
           <EditText android:id="@+id/showDate" android:layout_width="200dip"  
      
               android:layout_height="wrap_content" />  
      
           <Button android:id="@+id/but_showDate" android:layout_width="100dip"  
      
               android:layout_height="wrap_content" android:text="选择日期" />  
      
        </LinearLayout>  
      
       
      
    </LinearLayout>  
    

      

    MainActivity.java源代码:

    package com.wanghf.demo;  
      
       
      
    import java.util.Calendar;  
      
       
      
    import android.app.Activity;  
      
    import android.app.DatePickerDialog;  
      
    import android.app.Dialog;  
      
    import android.os.Bundle;  
      
    import android.os.Handler;  
      
    import android.os.Message;  
      
    import android.view.View;  
      
    import android.widget.Button;  
      
    import android.widget.DatePicker;  
      
    import android.widget.EditText;  
      
       
      
    /** 
     
     * 日期控件的简单使用 
     
     * 
     
     * @author adminelco 
     
     * @time 2011-07-20 15:42:24 
     
     * 
     
     */  
      
    public class MainActivity extends Activity {  
      
        private EditText showDate = null;  
      
        private Button pickDate = null;  
      
        private static final int DATE_DIALOG_ID = 1;  
      
        private static final int SHOW_DATAPICK = 0;  
      
        private int mYear;  
      
        private int mMonth;  
      
        private int mDay;  
      
       
      
        /** Called when the activity is first created. */  
      
        @Override  
      
        public void onCreate(Bundle savedInstanceState) {  
      
           super.onCreate(savedInstanceState);  
      
           setContentView(R.layout.main);  
      
           showDate = (EditText) findViewById(R.id.showDate);  
      
           pickDate = (Button) findViewById(R.id.but_showDate);  
      
           pickDate.setOnClickListener(new DateButtonOnClickListener());  
      
           final Calendar c = Calendar.getInstance();  
      
           mYear = c.get(Calendar.YEAR);  
      
           mMonth = c.get(Calendar.MONTH);  
      
           mDay = c.get(Calendar.DAY_OF_MONTH);  
      
           setDateTime();  
      
        }  
      
       
      
        private void setDateTime() {  
      
           final Calendar c = Calendar.getInstance();  
      
           mYear = c.get(Calendar.YEAR);  
      
           mMonth = c.get(Calendar.MONTH);  
      
           mDay = c.get(Calendar.DAY_OF_MONTH);  
      
       
      
           updateDisplay();  
      
        }  
      
       
      
        /** 
     
         * 更新日期 
     
         */  
      
        private void updateDisplay() {  
      
           showDate.setText(new StringBuilder().append(mYear).append(  
      
                  (mMonth + 1) < 10 ? "0" + (mMonth + 1) : (mMonth + 1)).append(  
      
                  (mDay < 10) ? "0" + mDay : mDay));  
      
        }  
      
       
      
        /** 
     
         * 日期控件的事件 
     
         */  
      
        private DatePickerDialog.OnDateSetListener mDateSetListener = new DatePickerDialog.OnDateSetListener() {  
      
           public void onDateSet(DatePicker view, int year, int monthOfYear,  
      
                  int dayOfMonth) {  
      
               mYear = year;  
      
               mMonth = monthOfYear;  
      
               mDay = dayOfMonth;  
      
               updateDisplay();  
      
           }  
      
        };  
      
       
      
        /** 
     
         * 选择日期Button的事件处理 
     
         * 
     
         * @author Raul 
     
         * 
     
         */  
      
        class DateButtonOnClickListener implements  
      
               android.view.View.OnClickListener {  
      
           @Override  
      
           public void onClick(View v) {  
      
               Message msg = new Message();  
      
               if (pickDate.equals((Button) v)) {  
      
                  msg.what = MainActivity.SHOW_DATAPICK;  
      
               }  
      
               MainActivity.this.saleHandler.sendMessage(msg);  
      
           }  
      
        }  
      
       
      
        @Override  
      
        protected Dialog onCreateDialog(int id) {  
      
           switch (id) {  
      
           case DATE_DIALOG_ID:  
      
               return new DatePickerDialog(this, mDateSetListener, mYear, mMonth,  
      
                      mDay);  
      
           }  
      
           return null;  
      
        }  
      
       
      
        @Override  
      
        protected void onPrepareDialog(int id, Dialog dialog) {  
      
           switch (id) {  
      
           case DATE_DIALOG_ID:  
      
               ((DatePickerDialog) dialog).updateDate(mYear, mMonth, mDay);  
      
               break;  
      
           }  
      
        }  
      
       
      
        /** 
     
         * 处理日期控件的Handler 
     
         */  
      
        Handler saleHandler = new Handler() {  
      
           @Override  
      
           public void handleMessage(Message msg) {  
      
               switch (msg.what) {  
      
               case MainActivity.SHOW_DATAPICK:  
      
                  showDialog(DATE_DIALOG_ID);  
      
                  break;  
      
               }  
      
           }  
      
        };  
      
    } 

    出处:http://blog.csdn.net/android_home/article/details/6620206

     

  • 相关阅读:
    APP自动化中三大定位工具
    解决引入矢量图标库报错Refused to load the stylesheet 'XXX' because it violates the following Content Security Policy directive: "defaultsrc 'self'". Note that 'stylesrcelem' 问题
    解决本地好用,打包后JSON中文乱码问题
    关于Fiddler使用过程中突然不能抓包的问题
    【MySQL】mysqldump从所有数据库备份中还原某个指定的库
    【MongoDB】Prometheus监控MongoDB
    【MySQL】MySQL8确认哪些参数在使用以及来源
    【PostgreSQL】PostgreSQL 15移除了Stats Collector
    【MySQL】Authentication plugin 'caching_sha2_password' reported error
    【MySQL】MariaDB使用connect存储引擎访问SQLServer中的表
  • 原文地址:https://www.cnblogs.com/gzggyy/p/2516761.html
Copyright © 2020-2023  润新知