???? 發現有時候,不會的先去網上搜,網上再不滿意那就看文檔。很能解決問題的一個辦法。哈哈 也許你們早就發現了吧。
???? 要實現功能如下:
????
?左右兩個EditText,均顯示當前時間,當點擊某一個時,出現日期或者時間控件,可以對其進行修改。前提是不用xml寫。
?上代碼吧 (*^__^*) 嘻嘻
// 用來保存年月日:
private int mYear;
private int mMonth;
private int mDay;
// 聲明一個獨一無二的標識,來作為要顯示DatePicker的Dialog的ID:
static final int DATE_DIALOG_ID = 0;
//用來保存時間:
private int mHour;
private int mMinute;
static final int TIME_DIALOG_ID = 1;
?
/**
* 設置當前時間和日期
*/
EditText date=(EditText)layout.findViewById(R.id.date);
date.setInputType(InputType.TYPE_NULL);//關閉軟鍵盤
EditText time=(EditText)layout.findViewById(R.id.time);
time.setInputType(InputType.TYPE_NULL);//關閉軟鍵盤
//添加監聽
date.setOnClickListener(new dateListener());
time.setOnClickListener(new timeListener());
?
/**
* 實現當前時間的選擇和獲取
* 監聽類
*
*/
class timeListener implements View.OnClickListener{
@Override
public void onClick(View v) {
// get the current time
final Calendar c = Calendar.getInstance();
mHour = c.get(Calendar.HOUR_OF_DAY);
mMinute = c.get(Calendar.MINUTE);
// display the current date
time.setText( new StringBuilder().append(pad(mHour)).append(":")
.append(pad(mMinute)));
showDialog(TIME_DIALOG_ID);
}
}
private static String pad(int c) {
if (c >= 10)
return String.valueOf(c);
else
return "0" + String.valueOf(c);
}
// // 需要定義彈出的TimePicker對話框的事件監聽器:
private TimePickerDialog.OnTimeSetListener mTimeSetListener = new TimePickerDialog.OnTimeSetListener() {
public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
mHour = hourOfDay;
mMinute = minute;
time.setText( new StringBuilder().append(pad(mHour)).append(":")
.append(pad(mMinute)));
}
};
/**
* 實現當前日期的選擇和獲取
*
* 監聽類
*/
class dateListener implements View.OnClickListener {
@Override
public void onClick(View v) {
// 獲得當前的日期:
Calendar currentDate = Calendar.getInstance();
mYear = currentDate.get(Calendar.YEAR);
mMonth = currentDate.get(Calendar.MONTH);
mDay = currentDate.get(Calendar.DAY_OF_MONTH);
/*// 設置文本的內容:
date.setText(new StringBuilder().append(mYear).append("-")
.append(mMonth + 1).append("-")// 得到的月份+1,因為從0開始
.append(mDay));*/
showDialog(DATE_DIALOG_ID);
}
}
// 需要定義彈出的DatePicker對話框的事件監聽器:
private DatePickerDialog.OnDateSetListener mDateSetListener = new OnDateSetListener() {
public void onDateSet(DatePicker view, int year, int monthOfYear,
int dayOfMonth) {
mYear = year;
mMonth = monthOfYear;
mDay = dayOfMonth;
// 設置文本的內容:
date.setText(new StringBuilder().append(mYear).append("-")
.append(mMonth + 1).append("-")// 得到的月份+1,因為從0開始
.append(mDay));
}
};
// 當Activity調用showDialog函數時會觸發該函數的調用: 66. */
protected Dialog onCreateDialog(int id) {
switch (id) {
case DATE_DIALOG_ID:
return new DatePickerDialog(this, mDateSetListener, mYear, mMonth,mDay);
case TIME_DIALOG_ID:
return new TimePickerDialog(this, mTimeSetListener, mHour, mMinute,
false);
}
return null;
}
?
點擊時間時,運行效果如下:
?
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061
微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元

