時間日期設置組件:TimePicker、DatePicker
在佈局文件中直接可以添加到我們的佈局樣式中,具體代碼如下:
<LinearLayout
android:id="@+id/linear1"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
>
<EditText
android:id="@+id/editview"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<LinearLayout
android:id="@+id/linear2"
android:orientation="horizontal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
><br> //時間設置組件
<TimePicker
android:id="@+id/time"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/> <br> //日期設置組件
<DatePicker
android:id="@+id/date"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
</LinearLayout>
</LinearLayout>
.java文件代碼如下:
public class MainActivity extends Activity {
private EditText myedit = null;<br> //對兩個組件進行聲明
private TimePicker time = null;
private DatePicker date = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);<br><br> //設置Activity的顯示方向爲橫屏
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
myedit = (EditText)findViewById(R.id.editview);<br> //調用佈局文件中的兩個組件
time = (TimePicker)findViewById(R.id.time);
date = (DatePicker)findViewById(R.id.date);
//time.setIs24HourView(true);//設置採用24小時制的時間顯示,系統默認12小時制
time.setOnTimeChangedListener(new mytime());<br> //在這裏需要注意的是日期沒有ondatechangedlistener()方法,我們這裏通過調用日期的init()方法設置。
date.init(this.date.getYear(), this.date.getMonth(), this.date.getDayOfMonth(), new myDate());
this.setDateTime();
}
//時間改變事件監聽: <br><br> class mytime implements OnTimeChangedListener{
@Override
public void onTimeChanged(TimePicker view, int hourOfDay, int minute) {
// TODO Auto-generated method stub
MainActivity.this.setDateTime();
}
}
<br> //日期改變事件監聽
@SuppressLint("NewApi")
class myDate implements OnDateChangedListener{
@Override
public void onDateChanged(DatePicker view, int year, int monthOfYear,
int dayOfMonth) {
// TODO Auto-generated method stub
MainActivity.this.setDateTime();
}
}
public void setDateTime() { // 由於日期時間更改之後文本輸入組件的內容也要修改
this.myedit.setText(this.date.getYear() + "-"
+ (this.date.getMonth() + 1) + "-" + this.date.getDayOfMonth()
+ " " + this.time.getCurrentHour() + ":"
+ this.time.getCurrentMinute()); // 修改文本的內容
}
}