android – 如何在不使用DatePickerDialog的情况下使用OnDateChangedListener,OnDateSetListener?

我希望能够在用户开始更改时检测到datepicker上的更改.但是,我不想使用datrpickerdialog.有没有人知道为什么在更改datepicker上的日期时onDateSet(DatePicker arg0,int arg1,int arg2,int arg3)不会触发?

我对此表示高度赞赏.干杯

这是我的代码的简化版本:

public class AddItem extends Activity  implements OnDateChangedListener,OnDateSetListener{

DatePicker start ;

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.entryelements);
    start = (DatePicker) findViewById(R.id.start);

@Override
public void onDateChanged(DatePicker view,int year,int monthOfYear,int dayOfMonth) {

    // Todo Auto-generated method stub
    Toast.makeText(getApplicationContext()," thiv view"+year,Toast.LENGTH_LONG).show();
    Log.v("indatechange","ok");

}

@Override
public void onDateSet(DatePicker arg0,int arg3) {
    // Todo Auto-generated method stub
    Toast.makeText(getApplicationContext()," thiv view"+arg0,"ok");
}

}

解决方法

您需要告诉DatePicker有关OnDateChangedListener的信息.与常规小部件不同,DatePicker没有setonDateChangedListener()……但它确实有 init().使用init()设置认日期并一起声明监听器:
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.entryelements);

    // Set the date to Now
    Calendar calendar = Calendar.getInstance();
    start = (DatePicker) findViewById(R.id.start);
    start.init(calendar.get(Calendar.YEAR),calendar.get(Calendar.MONTH),calendar.get(Calendar.DAY_OF_MONTH),this);
}

相关文章

这篇“android轻量级无侵入式管理数据库自动升级组件怎么实现...
今天小编给大家分享一下Android实现自定义圆形进度条的常用方...
这篇文章主要讲解了“Android如何解决字符对齐问题”,文中的...
这篇文章主要介绍“Android岛屿数量算法怎么使用”的相关知识...
本篇内容主要讲解“Android如何开发MQTT协议的模型及通信”,...
本文小编为大家详细介绍“Android数据压缩的方法是什么”,内...