2011-08-09 3 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(); 
     } 
    }); 

} 

ある@Override ダイアログを保護onCreateDialog(int id) { // TODO自動生成メソッドスタブ

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

だから私は日付ピッカー を使用することはできませんよTimePickerのように私は私が自分で答えを見つけて返信ないため

+0

をリンクするように問題はXMLレイアウトで作成された日付ピッカービューを使用する方法です。 – 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

関連する問題