Java 时间选择器对话框
我正在使用多个文本视图和onclick侦听器,这些侦听器将我指向一个时间选择器对话框 但是,在阅读教程之后,我似乎不知道如何编写代码Java 时间选择器对话框,java,android,Java,Android,我正在使用多个文本视图和onclick侦听器,这些侦听器将我指向一个时间选择器对话框 但是,在阅读教程之后,我似乎不知道如何编写代码 textview1.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { showDialog(TIME_DIALOG_ID); } }); textview2.setOnClick
textview1.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
showDialog(TIME_DIALOG_ID);
}
});
textview2.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
showDialog(TIME_DIALOG_ID);
}
});
要显示该对话框,请执行以下操作:
@Override
protected Dialog onCreateDialog(int id) {
switch (id) {
case TIME_DIALOG_ID:
return new TimePickerDialog(this,
mTimeSetListener, mHour, mMinute, true);
}
return null;
}
最后
private TimePickerDialog.OnTimeSetListener mTimeSetListener =
new TimePickerDialog.OnTimeSetListener() {
@Override
public void onTimeSet(android.widget.TimePicker view,
int hourOfDay, int minute) {
mHour = hourOfDay;
mMinute = minute;
}
};
现在,对于在TimePickerDialog.OnTimeSetListener回调之后调用timepicker的textview,我应该如何编写代码
答案很简单,但我缺乏面向对象的知识,仍在学习。
谢谢…使用编辑文本,我们可以在编辑文本上获得pikker长按的时间
EditText timeDisplay=(EditText)findViewById(R.id.timeDisplay);
timeDisplay.setOnClickListener(new View.OnClickListener()
{
public void onClick(View v) {
showDialog(TIME_DIALOG_ID);
}
});
在类中创建一个成员变量(例如int whichViewClicked=0
),以跟踪单击的textview以调出时间选择器
现在,如果单击textview1,则设置TextViewClicked=1,如果单击textview2,则设置TextViewClicked=2,依此类推。在onTimeSet()方法中,检查单击的视图的值,并相应地设置textview文本您需要使用全局变量。说,
String fromWhere=“”代码>
现在,
如果我在adapter中,我的意思是类继承自ArrayAdapter,我不能说showdialoge(0)@AHM:为什么需要从适配器类打开对话框?通过获取列表项的相关id(如果使用ArrayAdapter呈现列表),可以在活动本身中实现这一点。
textview1.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
fromWhere="textview1";
showDialog(TIME_DIALOG_ID);
}
});
textview2.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
fromWhere="textview2";
showDialog(TIME_DIALOG_ID);
}
});
...
private TimePickerDialog.OnTimeSetListener mTimeSetListener =
new TimePickerDialog.OnTimeSetListener() {
@Override
public void onTimeSet(android.widget.TimePicker view,
int hourOfDay, int minute) {
if(fromWhere.equals(textview1))
// set hour and minute to according variable and textview
else if(fromWhere.equals(textview2))
// set hour and minute to according variable and textview
.. //so on for others
//mHour = hourOfDay;
//mMinute = minute;
fromWhere="";
}
};