2012-05-06 39 views
0

私は新しいです、私は捜していたが、以前の質問で答えを見つけることができなかった謝罪します。 私は日付ピッカーと時間ピッカーを持っていますが、私がそれを実行すると、時間ピッカーダイアログは表示されません。何か案が?タイムピッカーダイアログが表示されません

public class BuildingFireActivity extends Activity { 

private Button buildingfirePickDate; 
private Button buildingfiredispatchPickTime; 

private TextView buildingfireDateDisplay; 
private TextView buildingfiredispatchTimeDisplay; 

private int buildingfireYear; 
private int buildingfireMonth; 
private int buildingfireDay; 
private int buildingfiredispatchHour; 
private int buildingfiredispatchMinute; 

static final int DATE_DIALOG_ID = 0; 
static final int TIME_DIALOG_ID = 1; 


public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.buildingfirelayout); 

    buildingfirePickDate = (Button) findViewById(R.id.pickDate); 
    buildingfiredispatchPickTime = (Button) findViewById(R.id.dispatchTime); 

    buildingfireDateDisplay = (TextView) findViewById(R.id.dateDisplay); 
    buildingfiredispatchTimeDisplay = (TextView) findViewById(R.id.dispatchDisplay); 

    buildingfirePickDate.setOnClickListener(new View.OnClickListener() { 


@SuppressWarnings("deprecation") 
public void onClick(View v) { 
    showDialog(DATE_DIALOG_ID);}}); 
    final Calendar c = Calendar.getInstance(); 
    buildingfireYear = c.get(Calendar.YEAR); 
    buildingfireMonth = c.get(Calendar.MONTH); 
    buildingfireDay = c.get(Calendar.DAY_OF_MONTH); 
    updateDisplay(); 
    buildingfiredispatchPickTime.setOnClickListener(new View.OnClickListener() { 
@SuppressWarnings("deprecation") 
public void onClick(View v) { 
    showDialog(TIME_DIALOG_ID);}}); 
    final Calendar dispatch = Calendar.getInstance(); 
    buildingfiredispatchHour = dispatch.get(Calendar.HOUR_OF_DAY); 
    buildingfiredispatchMinute = dispatch.get(Calendar.MINUTE); 
    updateDisplay1();} 
private static String pad(int dispatch) { 
    if (dispatch >= 10) 
    return String.valueOf(dispatch); 
    else 
    return "0" + String.valueOf(dispatch);} 


private void updateDisplay() { 
    buildingfireDateDisplay.setText(
    new StringBuilder() 
    .append(buildingfireMonth + 1).append("-") 
    .append(buildingfireDay).append("-") 
    .append(buildingfireYear).append(" "));} 
private void updateDisplay1() { 
    buildingfiredispatchTimeDisplay.setText(
    new StringBuilder() 
    .append(pad(buildingfiredispatchHour)).append(":") 
    .append(pad(buildingfiredispatchMinute)));} 

private DatePickerDialog.OnDateSetListener buildingfireDateSetListener = 
    new DatePickerDialog.OnDateSetListener() { 
    public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) { 
      buildingfireYear = year; 
      buildingfireMonth = monthOfYear; 
      buildingfireDay = dayOfMonth; 
      updateDisplay();}}; 
private TimePickerDialog.OnTimeSetListener buildingfiredispatchTimeSetListener = 
    new TimePickerDialog.OnTimeSetListener() { 
    public void onTimeSet(TimePicker view, int hourOfDay, int minute) { 
      buildingfiredispatchHour = hourOfDay; 
      buildingfiredispatchMinute = minute; 
      updateDisplay1();}}; 



protected Dialog onCreateDialog(int id) { 
    switch (id) { 
    case TIME_DIALOG_ID: 
    return new TimePickerDialog(this, 
      buildingfiredispatchTimeSetListener, 
      buildingfiredispatchHour, 
      buildingfiredispatchMinute, false);} 
      return null;} 

@Override 
protected Dialog onCreateDialog1(int id) { 
    switch (id) { 
    case DATE_DIALOG_ID: 
    return new DatePickerDialog(this, 
      buildingfireDateSetListener, 
      buildingfireYear, 
      buildingfireMonth, 
      buildingfireDay);} 
      return null;}} 

答えて

0
protected Dialog onCreateDialog(int id) { 
    switch (id) { 
    case TIME_DIALOG_ID: 
    return new TimePickerDialog(this, 
     buildingfiredispatchTimeSetListener, 
     buildingfiredispatchHour, 
     buildingfiredispatchMinute, false); 
    case DATE_DIALOG_ID: 
    return new DatePickerDialog(this, 
     buildingfireDateSetListener, 
     buildingfireYear, 
     buildingfireMonth, 
     buildingfireDay); 
    } 
    return null; 
} 

はこのコードを使用してonCreateDialog1()を削除するようにしてください:私はこれは私が持っているコードで、時間のための答えを探しました。

+0

ありがとう、非常に助かりました!これに関するコードをクリーンアップまたは削減するための提案はありますか? – KyleM

+0

私もあなたの問題を解決しようとしました。私の場合は、datepickerダイアログにエラーが表示され、timepickerダイアログが表示されますが、不必要なsuppresswarningsがあります。削除してください。 – erdomester

+0

形式コードを書き込もうとします。少なくとも、コードの書式設定にはEclipseフォーマッタを使用してください。そうすれば、他の人がコードを簡単に理解できるようになります。あなた自身のコードを書くことを学びたいならば。コピーするだけで、あなたの結果が得られます。学習の部分はコピーされません。 – Shaiful

0

こんにちはuは私はそれがダイアログから日付ピッカー]ダイアログボックスに

選択した日付を見てのTextViewに表示するのに役立ちます願っています。このコードを試すことができます。

public class DatePickerDemoActivity extends Activity { 
/** Called when the activity is first created. */ 

    private TextView mDateDisplay; 
    private Button mPickDate; 
    private int mYear; 
    private int mMonth; 
    private int mDay; 

    static final int DATE_DIALOG_ID = 0; 

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 

    // capture our View elements 
    mDateDisplay = (TextView) findViewById(R.id.dateDisplay); 
    mPickDate = (Button) findViewById(R.id.pickDate); 

    // add a click listener to the button 
    mPickDate.setOnClickListener(new View.OnClickListener() { 
     public void onClick(View v) { 
      showDialog(DATE_DIALOG_ID); 
     } 
    }); 

    // get the current date 
    final Calendar c = Calendar.getInstance(); 
    mYear = c.get(Calendar.YEAR); 
    mMonth = c.get(Calendar.MONTH); 
    mDay = c.get(Calendar.DAY_OF_MONTH); 

    // display the current date (this method is below) 
    updateDisplay(); 
} 

// updates the date in the TextView 
private void updateDisplay() { 
    mDateDisplay.setText(getString(R.string.strSelectedDate, 
     new StringBuilder() 
       // Month is 0 based so add 1 
       .append(mMonth + 1).append("-") 
       .append(mDay).append("-") 
       .append(mYear).append(" "))); 
} 

// the callback received when the user "sets" the date in the dialog 
private DatePickerDialog.OnDateSetListener mDateSetListener = 
     new DatePickerDialog.OnDateSetListener() { 

      public void onDateSet(DatePicker view, int year, 
            int monthOfYear, int dayOfMonth) { 
       mYear = year; 
       mMonth = monthOfYear; 
       mDay = dayOfMonth; 
       updateDisplay(); 
      } 
     }; 

@Override 
protected Dialog onCreateDialog(int id) { 
    switch (id) { 
    case DATE_DIALOG_ID: 
     return new DatePickerDialog(this, mDateSetListener, mYear, mMonth, 
       mDay); 
    } 
    return null; 
} 
} 
関連する問題