1. ホーム
  2. アンドロイド

[解決済み】AndroidでYes/Noのダイアログボックスを表示するには?

2022-04-28 14:41:06

質問

AlertDialog.Builderがあるのは知っていますが、Androidでダイアログを表示するのは難しい(少なくともプログラマフレンドリーではない)ことを知ってショックを受けています。

私は以前.NETの開発者だったのですが、以下のようなAndroidに相当するものはないでしょうか?

if (MessageBox.Show("Sure?", "", MessageBoxButtons.YesNo) == DialogResult.Yes){
    // Do something...
}

解決方法は?

AlertDialog.Builderの使い方はそれほど難しくはありません。確かに最初は少し戸惑いますが、少し使ってみるとシンプルで強力です。使い方は知っていると思いますが、とにかく簡単な例を挙げてみましょう。

DialogInterface.OnClickListener dialogClickListener = new DialogInterface.OnClickListener() {
    @Override
    public void onClick(DialogInterface dialog, int which) {
        switch (which){
        case DialogInterface.BUTTON_POSITIVE:
            //Yes button clicked
            break;

        case DialogInterface.BUTTON_NEGATIVE:
            //No button clicked
            break;
        }
    }
};

AlertDialog.Builder builder = new AlertDialog.Builder(context);
builder.setMessage("Are you sure?").setPositiveButton("Yes", dialogClickListener)
    .setNegativeButton("No", dialogClickListener).show();

また、その再利用も可能です。 DialogInterface.OnClickListener もし、他に イエス/ノー の箱があれば、同じことができるはずです。

もし、ダイアログを View.OnClickListener を使用することができます。 view.getContext() を使って Context を取得することもできます。 yourFragmentName.getActivity() .