???? 發(fā)現(xiàn)有時候,不會的先去網(wǎng)上搜,網(wǎng)上再不滿意那就看文檔。很能解決問題的一個辦法。哈哈 也許你們早就發(fā)現(xiàn)了吧。
???? 要實現(xiàn)功能如下:
????
?左右兩個EditText,均顯示當前時間,當點擊某一個時,出現(xiàn)日期或者時間控件,可以對其進行修改。前提是不用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;
?
/** * 設(shè)置當前時間和日期 */ EditText date=(EditText)layout.findViewById(R.id.date); date.setInputType(InputType.TYPE_NULL);//關(guān)閉軟鍵盤 EditText time=(EditText)layout.findViewById(R.id.time); time.setInputType(InputType.TYPE_NULL);//關(guān)閉軟鍵盤 //添加監(jiān)聽 date.setOnClickListener(new dateListener()); time.setOnClickListener(new timeListener());
?
/** * 實現(xiàn)當前時間的選擇和獲取 * 監(jiān)聽類 * */ 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對話框的事件監(jiān)聽器: 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))); } }; /** * 實現(xiàn)當前日期的選擇和獲取 * * 監(jiān)聽類 */ 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); /*// 設(shè)置文本的內(nèi)容: date.setText(new StringBuilder().append(mYear).append("-") .append(mMonth + 1).append("-")// 得到的月份+1,因為從0開始 .append(mDay));*/ showDialog(DATE_DIALOG_ID); } } // 需要定義彈出的DatePicker對話框的事件監(jiān)聽器: private DatePickerDialog.OnDateSetListener mDateSetListener = new OnDateSetListener() { public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) { mYear = year; mMonth = monthOfYear; mDay = dayOfMonth; // 設(shè)置文本的內(nèi)容: date.setText(new StringBuilder().append(mYear).append("-") .append(mMonth + 1).append("-")// 得到的月份+1,因為從0開始 .append(mDay)); } }; // 當Activity調(diào)用showDialog函數(shù)時會觸發(fā)該函數(shù)的調(diào)用: 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; }
?
點擊時間時,運行效果如下:
?
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯(lián)系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
