簡體   English   中英

Android在活動中顯示對話框

[英]Android showing a dialog in activity

我創建了一個擴展DialogFragment類的新類:

public class SaveDataDialog extends DialogFragment {
    @Override
    public Dialog onCreateDialog(Bundle savedInstanceState) {
        AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
        // Get the layout inflater
        LayoutInflater inflater = getActivity().getLayoutInflater();

        // Inflate and set the layout for the dialog
        // Pass null as the parent view because its going in the dialog layout
        builder.setView(inflater.inflate(R.layout.save_data_dialog, null))
        // Add action buttons
                .setPositiveButton(R.string.save_data, new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int id) {
                        Toast.makeText(getActivity(), "Testing positive button", Toast.LENGTH_LONG).show();
                    }
                }).setNegativeButton(R.string.cancel, new DialogInterface.OnClickListener() {
                    public void onClick(DialogInterface dialog, int id) {
                        SaveDataDialog.this.getDialog().cancel();
                    }
                });
        return builder.create();
    }

}

在我的主要活動中的某個位置(在按鈕onClick內),我想顯示此對話框。 所以我嘗試了:

SaveDataDialog sdd = new SaveDataDialog();
sdd.getDialog().show();

第二行給出了空指針異常。

如何顯示對話框? 這就是我要做的。

嘗試

sdd.show();

代替

sdd.getDialog().show();

由於對話框擴展了DialogFragment,因此不必調用.getDialog()

更多詳細信息: http : //android-developers.blogspot.com/2012/05/using-dialogfragments.html

您的SaveDataDialog擴展了DialogFragment ,您可以調用sdd.show()來顯示DialogFragment

在活動內部,使用以下代碼顯示對話框片段。

SaveDataDialog saveDataDialog = new SaveDataDialog();
saveDataDialog.show(getFragmentManager(), SaveDataDialog.class.getName());

http://developer.android.com/reference/android/app/DialogFragment.html#show(android.app.FragmentTransaction,java.lang.String

如果您的應用程序支持3.0.x之前的Android版本。 您將需要使用支持庫並導入android.app.v4.DialogFragment。

http://developer.android.com/tools/support-library/index.html

該鏈接對我確實很有幫助,希望對您也有幫助。 這是一個鏈接

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM