使用對(duì)話框形式修改時(shí)間時(shí)頁面中的日期和時(shí)間沒有改變
在使用對(duì)話框的形式修改日期和時(shí)間時(shí),標(biāo)題部分的日期和時(shí)間確實(shí)發(fā)生了改變,但是頁面中的日期和時(shí)間并沒有變。想知道如何才能讓頁面中的日期和時(shí)間也相應(yīng)的進(jìn)行改變。
在使用對(duì)話框的形式修改日期和時(shí)間時(shí),標(biāo)題部分的日期和時(shí)間確實(shí)發(fā)生了改變,但是頁面中的日期和時(shí)間并沒有變。想知道如何才能讓頁面中的日期和時(shí)間也相應(yīng)的進(jìn)行改變。
2016-08-30
舉報(bào)
2016-09-01
??????? 修改向下圖一樣的部分,就可以實(shí)現(xiàn)在彈出的對(duì)話框設(shè)置時(shí)間和日期后,Activity上的DataPicker和Timepicker兩個(gè)控件的時(shí)間自動(dòng)更改為在對(duì)話框中設(shè)置的時(shí)間。(為了清晰,我把修改標(biāo)題欄顯示時(shí)間那的代碼注釋了)。
2016-09-01
package com.example.datetime;
import java.util.Calendar;
import android.app.Activity;
import android.app.DatePickerDialog;
import android.app.DatePickerDialog.OnDateSetListener;
import android.app.TimePickerDialog;
import android.app.TimePickerDialog.OnTimeSetListener;
import android.os.Bundle;
import android.text.style.UpdateLayout;
import android.widget.DatePicker;
import android.widget.DatePicker.OnDateChangedListener;
import android.widget.TimePicker;
import android.widget.TimePicker.OnTimeChangedListener;
public class MainActivity extends Activity {
private TimePicker time;
private DatePicker date;
private Calendar cal;
private int year;
private int month;
private int day;
private int hour;
private int minute;
? ? @Override
? ? protected void onCreate(Bundle savedInstanceState) {
? ? ? ? super.onCreate(savedInstanceState);
? ? ? ? setContentView(R.layout.main);
? ? ? ? //獲取日歷的一個(gè)對(duì)象
? ? ? ? cal = Calendar.getInstance();
? ? ? ? //獲取年月日時(shí)分的信息
? ? ? ? year = cal.get(Calendar.YEAR);
? ? ? ? month = cal.get(Calendar.MONTH)+1;
? ? ? ? day = cal.get(Calendar.DAY_OF_MONTH);
? ? ? ? hour = cal.get(Calendar.HOUR_OF_DAY);
? ? ? ? minute = cal.get(Calendar.MINUTE);
? ? ? ? setTitle(year+":"+month+":"+day+":"+hour+":"+minute);
? ? ? ? date = (DatePicker) findViewById(R.id.date);
? ? ? ? time = (TimePicker) findViewById(R.id.time);
? ? ? ? //初始化datePicker
? ? ? ? date.init(year, cal.get(Calendar.MONTH), day, new OnDateChangedListener() {
@Override
public void onDateChanged(DatePicker arg0, int year, int month, int day) {
setTitle(year+":"+(month+1)+":"+day+":"+hour+":"+minute);
}
});
? ? ? ? //初始化timePicker
? ? ? ? time.setOnTimeChangedListener(new OnTimeChangedListener() {
@Override
public void onTimeChanged(TimePicker arg0, int hour, int minute) {
setTitle(year+":"+month+":"+day+":"+hour+":"+minute);
}
});
? ? ? ? new DatePickerDialog(this, new OnDateSetListener() {
@Override
public void onDateSet(DatePicker arg0, int year, int month, int day) {
setTitle(year+":"+(month+1)+":"+day+":"+hour+":"+minute);
}
}, year, cal.get(Calendar.MONTH), day).show();
? ? ? ? new TimePickerDialog(this, new OnTimeSetListener() {
@Override
public void onTimeSet(TimePicker arg0, int hour, int minute) {
setTitle(year+":"+month+":"+day+":"+hour+":"+minute);
}
}, hour, minute,true).show();
? ? }
}
2016-08-31
??????? 1.我這里簡(jiǎn)單的寫了點(diǎn)擊按鈕更新DatePicker時(shí)間的代碼:你可以將點(diǎn)擊事件觸發(fā)更新改成對(duì)話框里時(shí)間日期發(fā)生變化事件去觸發(fā)。
????????2.你可以將? datapicker對(duì)象.updateDate(,,,);這一句添加到觸發(fā)標(biāo)題欄內(nèi)容改變那一段代碼里,就可以在更改標(biāo)題欄內(nèi)容的同時(shí)修改DatePicker控件的日期。
????????3.如果要更新TimePicker的時(shí)間使用public?void?setCurrentHour(Integer?currentHour); ? ? ? ? ? ?//設(shè)置當(dāng)前時(shí)間的小時(shí)。 public?void?setCurrentMinute(Integer?currentMinute); ? ? ?//設(shè)置當(dāng)前時(shí)間的分鐘
final DatePicker dataPicker = (DatePicker) findViewById(R.id.datePicker1);
??????? Button btn = (Button) findViewById(R.id.button1);
??????? btn.setOnClickListener(new OnClickListener() {
?? ??? ??? ?
?? ??? ??? ?@Override
?? ??? ??? ?public void onClick(View arg0) {
?? ??? ??? ??? ?//是一個(gè)DataPicker對(duì)象
?? ??? ??? ??? ?dataPicker.updateDate(2001, 0, 1);
?? ??? ??? ?}
?? ??? ?});
按鈕點(diǎn)擊前畫面:
按鈕點(diǎn)擊后畫面:
2016-08-31
public?void?updateDate(int?year,int?month,int?dayOfMonth); ?//更新當(dāng)前日期
2016-08-30
您需要說的詳細(xì)一點(diǎn),需要改變哪的顯示