1

次のコードは、ユーザーが EditText をクリックしたときに日付ピッカーを (ポップアップ ダイアログとして) 表示します。showDialog() は onCreateDialog() を呼び出します。フラグメントに実装されている場合を除いて、コードは正常に機能します。Fragment では、ダイアログが表示されません。

edtTxtDateTime.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                showDialog(DATE_DIALOG_ID);
            }
        });

 @Override
    protected Dialog onCreateDialog(int id) {
        switch (id) {
            case DATE_DIALOG_ID:
                // Displaying Date & Time as a dialog

        }
        return null;
    }

DialogFragment API を使用して同じ動作を実装しようとしましたが、 EditText がクリックされたときにダイアログを取得できません。

提案/ヒントは役に立ちます。

4

1 に答える 1

0

Fragment コード内でダイアログを表示するには、正しいコンテキストを使用していることを確認してください。親アクティビティのコンテキストを使用する必要があります。Fragment 内で、以下を呼び出して Activity (および正しいコンテキスト) を取得できます。

getActivity();
于 2012-05-03T20:08:58.860 に答える