我正在创建一个自定义对话框,我想在其中使用日期选择器和时间选择器。虽然我能够使用时间选择器,因为我想要,但对于日期选择器,我缺乏想法。请帮帮我。我的代码如下
My XML Layout file is…
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TimePicker android:id="@+id/timePicker1"
android:layout_width="wrap_content" android:layout_height="wrap_content"></TimePicker>
<DatePicker android:id="@+id/datePicker1"
android:layout_width="wrap_content" android:layout_height="wrap_content"></DatePicker>
<Button android:id="@+id/buttondatetime" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:text="OK" />
和我的Java代码创建自定义对话框是
void dialogDateTime()
{
dialog = new Dialog(this);
dialog.setContentView(R.layout.datetime);
dialog.setCancelable(true);
dialog.setTitle("This is Dialog 1");
dialog.show();
TimePicker time_picker = (TimePicker) dialog.findViewById(R.id.timePicker1);
time_picker.setOnTimeChangedListener(new OnTimeChangedListener()
{
@Override
public void onTimeChanged(TimePicker view, int hourOfDay, int minutes)
{
// TODO Auto-generated method stub
}
});
DatePicker date_picker = (DatePicker) dialog.findViewById(R.id.datePicker1);
Button btn_ok = (Button) dialog.findViewById(R.id.buttondatetime);
btn_ok.setOnClickListener(new OnClickListener()
{
@Override
public void onClick(View v)
{
// TODO Auto-generated method stub
String text = "Time "+hours+":"+minute;
tv_date_time.setText(text);
dialog.cancel();
}
});
}
@Override保护对话框(int id){//自动生成方法存根
switch (id)
{
case DIALOG_1:
dialogDateTime();
break;
case DIALOG_2:
dialogTwo();
break;
default:
break;
}
return super.onCreateDialog(id);
}
我没有得到任何方法的DatePicker作为在TimePicker所以我不能使用DatePicker请帮助
谢谢你没有回复,我自己找到了答案。我改变了我的方法,像这样
void dialogDateTime()
{
dialog = new Dialog(this);
dialog.setContentView(R.layout.datetime);
dialog.setCancelable(true);
dialog.setTitle("This is Dialog 1");
dialog.show();
TimePicker time_picker = (TimePicker) dialog.findViewById(R.id.timePicker1);
time_picker.setOnTimeChangedListener(new OnTimeChangedListener()
{
@Override
public void onTimeChanged(TimePicker view, int hourOfDay, int minutes)
{
// TODO Auto-generated method stub
// Toast.makeText(CustomDialog.this,
// "hourOfDay = "+hourOfDay+"minute = "+minute , 1000).show();
hours = hourOfDay;
minute = minutes;
}
});
final DatePicker date_picker = (DatePicker) dialog.findViewById(R.id.datePicker1);
Button btn = (Button) dialog.findViewById(R.id.buttondatetime);
btn.setOnClickListener(new OnClickListener()
{
public void onClick(View arg0)
{
// TODO Auto-generated method stub
TextView txt = (TextView) findViewById(R.id.textView1);
txt.setText("You selected " + date_picker.getDayOfMonth() + "/" + (date_picker.getMonth() + 1) + "/"
+ date_picker.getYear());
txt.append("Time "+ hours + ":" +minute);
dialog.cancel();
}
}
);
}
感谢Android日期和时间控制