1

と、次のコードに問題がTimePickerDialogあります。DatePickerDialog

public void onClick(View v) {
    if (v.equals(checkInTime)) {
        showDialog(1);
    }

@Override
protected Dialog onCreateDialog(int id) {
    if (id == 1) {
        return new TimePickerDialog(this, this, dt.getHourOfDay(), dt.getMinuteOfHour(), true);
    }

    return super.onCreateDialog(id);
}

ダイアログで「設定」を押すまでは魅力的に機能し、次にボタンをクリックしても何も起こりません(ダイアログは表示されません)が、もう一度クリックするとダイアログが再び表示されます。「設定」を押すまで毎回表示され、1回のクリックでは機能しませんが、次のクリックで再び機能し始めます。

DatePickerDialog でも同じ問題が発生します。誰にもアイデアはありますか?

リスナーは何もしていません。

4

2 に答える 2

0

dismiss()ダイアログ( )で呼び出すTimePickerDialogのが問題です。を呼び出すので、cancel()を呼び出すのと同じです。代わりに、 を呼び出すことができます。onBackPress()dismiss()hide()

于 2012-07-21T11:23:20.967 に答える
0

同様の問題が発生しました。
エミュレーターではすべて問題ありませんでしたが、Samsung Galaxy Note [android 4] では DialogDatePicker を 2 回ごとに表示すると失敗しました。DialogDatePicker の非表示/非表示で sth が間違っていると思われます。

「OK」ボタンのリスナーを追加した後、すべてが正常に機能し始めました。

DatePickerDialog dpd = new DatePickerDialog(this, callBack, fakeYear, fakeMonth, fakeDay);
dpd.setButton(DialogInterface.BUTTON_POSITIVE, getString(android.R.string.ok), new DialogInterface.OnClickListener() {
   public void onClick(DialogInterface dialog, int which) {
      if (which == DialogInterface.BUTTON_POSITIVE) {
         System.out.println("here nothing more is needed");
         System.out.println("dialog closed and next time appear again");
      }
   }
});
于 2012-12-28T13:19:05.673 に答える