为了账号安全,请及时绑定邮箱和手机立即绑定

程序跟老师讲的一样,编译也没错误,运行的时候初始化也正确。但是点击日历变化日期后,标题上的日期不会跟着变化,不知道是哪里有问题。

package com.example.datetimepicker;


import java.util.Calendar;


import android.support.v7.app.ActionBarActivity;

import android.os.Bundle;

import android.view.Menu;

import android.view.MenuItem;

import android.widget.DatePicker;

import android.widget.DatePicker.OnDateChangedListener;

import android.widget.TimePicker;


public class MainActivity extends ActionBarActivity {


private TimePicker timePicker;

private DatePicker datePicker;

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.activity_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);

   datePicker=(DatePicker) findViewById( R.id.datePicker);

   timePicker=(TimePicker) findViewById(R.id.timePicker);

   //datePicker 初始化

   datePicker.init(year, cal.get(Calendar.MONTH), day,new OnDateChangedListener() {

@Override

public void onDateChanged(DatePicker view, int year, int monthOfYear,

int dayOfMonth) {

// TODO Auto-generated method stub

setTitle(year+"-"+(monthOfYear+1)+"-"+dayOfMonth);

}

});


}

}


正在回答

10 回答

你把public class MainActivity extends ActionBarActivity {     改成   public class MainActivity extends Activity然后导入Activity文件 试试呢?

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

用4.0以上版本运行试试看

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

求解,,有人回答么,,同样问题

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

我也是改变不了title。。。log日志里也显示了监听事件执行了

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

解决了么?不改变的原因是什么        

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

对的,看log日志应该是没问题啊,唯一能问题的就是setTitle(year+"-"+(monthOfYear+1)+"-"+dayOfMonth);这句了

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

__________zh

解决了么?不改变的原因是什么
2014-10-22 回复 有任何疑惑可以回复我~

我在程序中加了一个打印log的语句,不知道这样加对不对

public void onDateChanged(DatePicker view, int year, int monthOfYear,

int dayOfMonth) {

// TODO Auto-generated method stub

setTitle(year+"-"+(monthOfYear+1)+"-"+dayOfMonth);

   Log.i("LogDemo", "日期监听事件被执行");  

}

运行结果是5428d24700014a7c05000036.jpg


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

是的,就是试的你的代码,你在onDateChanged()方法中打印一下log,看看是否监听了这个事件

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

您是说,您运行我这段程序没有问题么?我运行的时候更换日期或时间,title上的信息是不变的。

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

我试半天也没试出问题来 

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

ruby_wu 提问者

您是说,您运行我这段程序没有问题么?我运行的时候更换日期或时间,title上的信息是不变的。
2014-09-29 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Android攻城狮的第二门课(第1季)
  • 参与学习       111161    人
  • 解答问题       1457    个

本课程由浅入深地带您学会Android的常用控件的开发和使用

进入课程
意见反馈 帮助中心 APP下载
官方微信