課程
/移動開發
/Android
/Android攻城獅的第二門課(第1季)
在使用對話框的形式修改日期和時間時,標題部分的日期和時間確實發生了改變,但是頁面中的日期和時間并沒有變。想知道如何才能讓頁面中的日期和時間也相應的進行改變。
2016-08-30
源自:Android攻城獅的第二門課(第1季) 3-6
正在回答
??????? 修改向下圖一樣的部分,就可以實現在彈出的對話框設置時間和日期后,Activity上的DataPicker和Timepicker兩個控件的時間自動更改為在對話框中設置的時間。(為了清晰,我把修改標題欄顯示時間那的代碼注釋了)。
qq_過好今天_0 提問者
li_zhuo 回復 qq_過好今天_0 提問者
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);
? ? ? ? //獲取日歷的一個對象
? ? ? ? cal = Calendar.getInstance();
? ? ? ? //獲取年月日時分的信息
? ? ? ? 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() {
public void onTimeChanged(TimePicker arg0, int hour, int minute) {
setTitle(year+":"+month+":"+day+":"+hour+":"+minute);
? ? ? ? new DatePickerDialog(this, new OnDateSetListener() {
public void onDateSet(DatePicker arg0, int year, int month, int day) {
}, year, cal.get(Calendar.MONTH), day).show();
? ? ? ? new TimePickerDialog(this, new OnTimeSetListener() {
public void onTimeSet(TimePicker arg0, int hour, int minute) {
}, hour, minute,true).show();
? ? }
??????? 1.我這里簡單的寫了點擊按鈕更新DatePicker時間的代碼:你可以將點擊事件觸發更新改成對話框里時間日期發生變化事件去觸發。
????????2.你可以將? datapicker對象.updateDate(,,,);這一句添加到觸發標題欄內容改變那一段代碼里,就可以在更改標題欄內容的同時修改DatePicker控件的日期。
????????3.如果要更新TimePicker的時間使用public?void?setCurrentHour(Integer?currentHour); ? ? ? ? ? ?//設置當前時間的小時。 public?void?setCurrentMinute(Integer?currentMinute); ? ? ?//設置當前時間的分鐘
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) {?? ??? ??? ??? ?//是一個DataPicker對象?? ??? ??? ??? ?dataPicker.updateDate(2001, 0, 1);?? ??? ??? ?}?? ??? ?});按鈕點擊前畫面:
按鈕點擊后畫面:
li_zhuo
qq_過好今天_0 提問者 回復 li_zhuo
public?void?updateDate(int?year,int?month,int?dayOfMonth); ?//更新當前日期
您需要說的詳細一點,需要改變哪的顯示
舉報
本課程由淺入深地帶您學會Android的常用控件的開發和使用
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2016-09-01
??????? 修改向下圖一樣的部分,就可以實現在彈出的對話框設置時間和日期后,Activity上的DataPicker和Timepicker兩個控件的時間自動更改為在對話框中設置的時間。(為了清晰,我把修改標題欄顯示時間那的代碼注釋了)。
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);
? ? ? ? //獲取日歷的一個對象
? ? ? ? cal = Calendar.getInstance();
? ? ? ? //獲取年月日時分的信息
? ? ? ? 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.我這里簡單的寫了點擊按鈕更新DatePicker時間的代碼:你可以將點擊事件觸發更新改成對話框里時間日期發生變化事件去觸發。
????????2.你可以將? datapicker對象.updateDate(,,,);這一句添加到觸發標題欄內容改變那一段代碼里,就可以在更改標題欄內容的同時修改DatePicker控件的日期。
????????3.如果要更新TimePicker的時間使用public?void?setCurrentHour(Integer?currentHour); ? ? ? ? ? ?//設置當前時間的小時。 public?void?setCurrentMinute(Integer?currentMinute); ? ? ?//設置當前時間的分鐘
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) {
?? ??? ??? ??? ?//是一個DataPicker對象
?? ??? ??? ??? ?dataPicker.updateDate(2001, 0, 1);
?? ??? ??? ?}
?? ??? ?});
按鈕點擊前畫面:
按鈕點擊后畫面:
2016-08-31
public?void?updateDate(int?year,int?month,int?dayOfMonth); ?//更新當前日期
2016-08-30
您需要說的詳細一點,需要改變哪的顯示