2011-08-09 116 views
1

我正在创建一个自定义对话框,我要使用DatePicker和TimePicker。尽管我可以使用TimePicker,但是对于DatePicker,我缺乏创意。 请帮帮我。 我的代码如下创建包含TimePicker和DatePicker的对话框的问题?

我的XML布局文件...

<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(); 
     } 
    }); 

} 

@覆盖 保护对话框onCreateDialog(int id) { // TODO自动生成方法存根

switch (id) 
    { 
    case DIALOG_1: 
     dialogDateTime(); 
     break; 
    case DIALOG_2: 
     dialogTwo(); 
     break; 
    default: 
     break; 
    } 
    return super.onCreateDialog(id); 
} 

我没有得到任何方法的DatePicker在TimePicker所以我不能够使用的DatePicker 请帮助

+0

的问题是如何使用XML布局创建的DatePicker查看。 – AB1209

回答

5

感谢不回答我找到答案我自己.. 我改变了我的方法这样

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 Date and Time Controls

+0

+1不错,你找到了解决方案,并在这里发布它作为参考。 – PravinCG

相关问题