0

タイプ Activity のメソッド showDialog(int, Bundle) は非推奨です...だから私はすでに timePicker を fragmentDialog に変更しました。

new TimePickerDialog(getActivity(),_listener, _hour, _minute,dateFormat);

しかし、どうすればこのタイプのダイアログを fragmentDialog にリメイクできますか?

AlertDialog.Builder
        .setIcon()
        .setTitle()
        .setPositiveButton()
        .setSingleChoiceItems(new CharSequence[]{"Visual","Audio","Both"},2,null)

ありがとうございました。

4

1 に答える 1

0

私があなたを正しく理解していれば、一度定義してフラグメント/アクティビティのさまざまな場所で使用できるように、再利用したいと考えています。AlerDialog

AndroidのドキュメントからAlertDialog android.app.AlertDialog.Builder.create() Creates a AlertDialog with the arguments supplied to this builder. It does not show() the dialog. This allows the user to do any extra processing before displaying the dialog. Use show() if you don't have any other processing to do and want this to be created and displayed. そう:

//declare inside your fragment class
private AlertDialog welcomeDialog;

//Inisde onCreate paste the following code so your dialoge is just created but not shown
            welcomeDialog = new AlertDialog.Builder(this)
                .setIcon(android.R.drawable.ic_dialog_alert)
                .setTitle(
                        getResources().getString(R.string.first_run_title))
                .setMessage(
                        getResources().getString(R.string.first_run_desc))
                .setPositiveButton(R.string.ok,
                        new DialogInterface.OnClickListener() {
                            public void onClick(DialogInterface dialog,
                                    int which) {
                                dialog.dismiss();
                            }
                        }).create();

//Wherever in your code you need to display the dialog,just use this piece of code:
welcomeDialog.show();

//and finally to do the cleanup:
    @Override
protected void onStop() {
    super.onStop();
    if (welcomeDialog != null)
        welcomeDialog.dismiss();}
于 2013-03-14T19:48:44.610 に答える