android學習筆記21:日期時間控制項

來源:互聯網
上載者:User

android中的日期控制項為:DatePicker,時間控制項為TimePicker。通過指定兩個監聽器OnDateChangelistner和OnTimeChangeListner就可以監控這兩個控制項的改變,從而得到相應的時間。

 

 

<?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="選擇您出生的具體時間" 
    /> 
<!-- 定義一個DatePicker組件 --> 
<DatePicker android:id="@+id/datePicker" 
    android:layout_width="wrap_content"  
    android:layout_height="wrap_content" 
    android:layout_gravity="center_horizontal" 
    /> 
<!-- 定義一個TimePicker組件 --> 
<TimePicker android:id="@+id/timePicker" 
    android:layout_width="wrap_content"  
    android:layout_height="wrap_content" 
    android:layout_gravity="center_horizontal" 
    /> 
<!-- 顯示使用者輸入日期、時間的控制項 --> 
<EditText android:id="@+id/show" 
    android:layout_width="fill_parent"  
    android:layout_height="wrap_content" 
    android:editable="false" 
    android:cursorVisible="false" 
    />    
</LinearLayout> 
<?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="選擇您出生的具體時間"
 />
<!-- 定義一個DatePicker組件 -->
<DatePicker android:id="@+id/datePicker"
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 android:layout_gravity="center_horizontal"
 />
<!-- 定義一個TimePicker組件 -->
<TimePicker android:id="@+id/timePicker"
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 android:layout_gravity="center_horizontal"
 />
<!-- 顯示使用者輸入日期、時間的控制項 -->
<EditText android:id="@+id/show"
 android:layout_width="fill_parent"
 android:layout_height="wrap_content"
 android:editable="false"
 android:cursorVisible="false"
 /> 
</LinearLayout>


public class ChooseDate extends Activity 

    //定義5個記錄目前時間的變數  
    private int year; 
    private int month; 
    private int day; 
    private int hour; 
    private int minute; 
    @Override 
    public void onCreate(Bundle savedInstanceState) 
    { 
        super.onCreate(savedInstanceState); 
        setContentView(R.layout.main); 
        DatePicker datePicker = (DatePicker)findViewById(R.id.datePicker); 
        TimePicker timePicker = (TimePicker)findViewById(R.id.timePicker); 
        //擷取當前的年、月、日、小時、分鐘  
        Calendar c = Calendar.getInstance(); 
        year = c.get(Calendar.YEAR); 
        month = c.get(Calendar.MONTH); 
        day = c.get(Calendar.DAY_OF_MONTH); 
        hour = c.get(Calendar.HOUR); 
        minute = c.get(Calendar.MINUTE); 
        //初始化DatePicker組件,初始化時指定監聽器  
        datePicker.init(year , month ,day  
            , new OnDateChangedListener() 
        { 
 
            @Override 
            public void onDateChanged(DatePicker arg0, int year 
                , int month, int day) 
            { 
                ChooseDate.this.year = year; 
                ChooseDate.this.month = month; 
                ChooseDate.this.day = day; 
                //顯示當前日期、時間  
                showDate(year, month , day , hour, minute); 
            } 
        }); 
        //為TimePicker指定監聽器  
        timePicker.setOnTimeChangedListener(new OnTimeChangedListener() 
        { 
            @Override 
            public void onTimeChanged(TimePicker arg0, int hour, int minute) 
            { 
                ChooseDate.this.hour = hour; 
                ChooseDate.this.minute = minute; 
                //顯示當前日期、時間  
                showDate(year, month , day , hour, minute);              
            } 
        }); 
    } 
    //定義在EditText中顯示當前日期、時間的方法  
    private void showDate(int year, int month , int day 
            , int hour , int minute) 
    { 
        EditText show = (EditText)findViewById(R.id.show); 
        show.setText("您的出生日期為:" + year + "年" + (month+1) + "月" 
            + day + "日  " + hour + "時" + minute + "分"); 
    }    

public class ChooseDate extends Activity
{
 //定義5個記錄目前時間的變數
 private int year;
 private int month;
 private int day;
 private int hour;
 private int minute;
 @Override
 public void onCreate(Bundle savedInstanceState)
 {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.main);
  DatePicker datePicker = (DatePicker)findViewById(R.id.datePicker);
  TimePicker timePicker = (TimePicker)findViewById(R.id.timePicker);
  //擷取當前的年、月、日、小時、分鐘
  Calendar c = Calendar.getInstance();
  year = c.get(Calendar.YEAR);
  month = c.get(Calendar.MONTH);
  day = c.get(Calendar.DAY_OF_MONTH);
  hour = c.get(Calendar.HOUR);
  minute = c.get(Calendar.MINUTE);
  //初始化DatePicker組件,初始化時指定監聽器
  datePicker.init(year , month ,day
   , new OnDateChangedListener()
  {

   @Override
   public void onDateChanged(DatePicker arg0, int year
    , int month, int day)
   {
    ChooseDate.this.year = year;
    ChooseDate.this.month = month;
    ChooseDate.this.day = day;
    //顯示當前日期、時間
    showDate(year, month , day , hour, minute);
   }
  });
  //為TimePicker指定監聽器
  timePicker.setOnTimeChangedListener(new OnTimeChangedListener()
  {
   @Override
   public void onTimeChanged(TimePicker arg0, int hour, int minute)
   {
    ChooseDate.this.hour = hour;
    ChooseDate.this.minute = minute;
    //顯示當前日期、時間
    showDate(year, month , day , hour, minute);    
   }
  });
 }
 //定義在EditText中顯示當前日期、時間的方法
 private void showDate(int year, int month , int day
   , int hour , int minute)
 {
  EditText show = (EditText)findViewById(R.id.show);
  show.setText("您的出生日期為:" + year + "年" + (month+1) + "月"
   + day + "日  " + hour + "時" + minute + "分");
 } 
}


摘自 snoopy的專欄

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.