亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

使用對話框形式修改時間時頁面中的日期和時間沒有改變

在使用對話框的形式修改日期和時間時,標題部分的日期和時間確實發生了改變,但是頁面中的日期和時間并沒有變。想知道如何才能讓頁面中的日期和時間也相應的進行改變。

正在回答

5 回答

??????? 修改向下圖一樣的部分,就可以實現在彈出的對話框設置時間和日期后,Activity上的DataPicker和Timepicker兩個控件的時間自動更改為在對話框中設置的時間。(為了清晰,我把修改標題欄顯示時間那的代碼注釋了)。

http://img1.sycdn.imooc.com//57c7c8a600010baf07450509.jpg

1 回復 有任何疑惑可以回復我~
#1

qq_過好今天_0 提問者

ok了,多謝
2016-09-01 回復 有任何疑惑可以回復我~
#2

li_zhuo 回復 qq_過好今天_0 提問者

不謝,小事
2016-09-03 回復 有任何疑惑可以回復我~

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();

? ? }

}


0 回復 有任何疑惑可以回復我~

??????? 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);
?? ??? ??? ?}
?? ??? ?});
按鈕點擊前畫面:

http://img1.sycdn.imooc.com//57c6ac1200019a6a04020293.jpg

按鈕點擊后畫面:

http://img1.sycdn.imooc.com//57c6ac400001afaa03980298.jpg

0 回復 有任何疑惑可以回復我~
#1

li_zhuo

實在不明白的話可以將代碼發給我,我能修改到你要得效果就幫你改,然后你自己再體會
2016-08-31 回復 有任何疑惑可以回復我~
#2

qq_過好今天_0 提問者 回復 li_zhuo

我把代碼發了一下,你幫我修改一下吧,在點擊使用對話框的形式修改日期和時間時,讓DatePicker和TimePicker兩個控件的日期直接發生改變,不另外添加更新用的button
2016-09-01 回復 有任何疑惑可以回復我~

public?void?updateDate(int?year,int?month,int?dayOfMonth);   ?//更新當前日期

0 回復 有任何疑惑可以回復我~
#1

qq_過好今天_0 提問者

是新定義的方法還是重寫父類的方法,不知道怎么用,沒弄出來
2016-08-31 回復 有任何疑惑可以回復我~

您需要說的詳細一點,需要改變哪的顯示

0 回復 有任何疑惑可以回復我~
#1

qq_過好今天_0 提問者

使用對話框的形式修改日期和時間時,讓DatePicker和TimePicker兩個控件的日期也發生改變
2016-08-31 回復 有任何疑惑可以回復我~
#2

li_zhuo 回復 qq_過好今天_0 提問者

使用這個方法 public void updateDate(int year,int month,int dayOfMonth);   //更新當前日期
2016-08-31 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
Android攻城獅的第二門課(第1季)
  • 參與學習       111145    人
  • 解答問題       1560    個

本課程由淺入深地帶您學會Android的常用控件的開發和使用

進入課程

使用對話框形式修改時間時頁面中的日期和時間沒有改變

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號