1

ユーザーがいくつかのオプションを選択できるように、リストを含む警告ダイアログを開こうとしていますが、ダイアログはオプション メニュー項目から開かれます。オプション項目とダイアログ メニューのコードを含めました。

public void OnOptionsItemSelected(MenuItem item) {
        switch (item.getItemId()) {
        case SECTION:
            showDialogMenu();
            new DialogInterface.OnClickListener(){
                @Override
                public void onClick(DialogInterface dialog, int item) {
                    showDialogMenu();
                    Log.d("Dialog used.","here");
                }
            }; break;
        }
    }


public void showDialogMenu(){
    Log.d("showDialogMenu()", "Method was called.");
    AlertDialog.Builder builder = new AlertDialog.Builder(this);
    builder.setTitle(R.string.dialogueTitle);
    builder.setPositiveButton("Melee", new DialogInterface.OnClickListener(){
        @Override
        public void onClick(DialogInterface dialog, int item) {
            num=0;
            whichImage(num);
        }
    });
    builder.setPositiveButton("Pistols", new DialogInterface.OnClickListener(){
        @Override
        public void onClick(DialogInterface dialog, int item) {
            num=27;
            whichImage(num);
        }
    });
    builder.setPositiveButton("Shotguns", new DialogInterface.OnClickListener(){
        @Override
        public void onClick(DialogInterface dialog, int item) {
            num=38;
            whichImage(num);
        }
    });
    builder.setPositiveButton("Rifles", new DialogInterface.OnClickListener(){
        @Override
        public void onClick(DialogInterface dialog, int item) {
            num=43;
            whichImage(num);
        }
    });
    builder.setPositiveButton("Sub-Machine Guns", new DialogInterface.OnClickListener(){
        @Override
        public void onClick(DialogInterface dialog, int item) {
            num=58;
            whichImage(num);
        }
    });
    builder.setPositiveButton("Light Machine Guns", new DialogInterface.OnClickListener(){
        @Override
        public void onClick(DialogInterface dialog, int item) {
            num=68;
            whichImage(num);
        }
    });
    builder.setPositiveButton("Sniper Rifles", new DialogInterface.OnClickListener(){
        @Override
        public void onClick(DialogInterface dialog, int item) {
            num=72;
            whichImage(num);
        }
    });
    builder.show();
}

ダイアログに show() メソッドがあることを確認しました。以前はそれが問題だと思っていましたが、メニュー項目をクリックしても何も表示されません。どんな助けでも大歓迎です、ありがとう。

4

1 に答える 1