创建包含时间选择器和日期选择器的对话框中的问题



我正在创建一个自定义对话框,我想在其中使用日期选择器和时间选择器。虽然我能够使用时间选择器,因为我想要,但对于日期选择器,我缺乏想法。请帮帮我。我的代码如下

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日期和时间控制

最新更新