AlertDialog中的按钮未显示

问题描述 投票:4回答:2

我有一个NeutralButton应该导致我必须消失的AlertDialog框。这个问题是,当AlertDialog框出现时,文本集看起来很好,但NeutralButton根本没有显示。我尝试将它作为正面和负面按钮,但没有区别。这是代码:

Button infoG1;

    infoG1 = (Button) findViewById(R.id.iG1);
    infoG1.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            AlertDialog.Builder info = new AlertDialog.Builder(game1.this);
            info.setMessage("Text here");
                    info.show();
                    info.setNeutralButton("Ok", new DialogInterface.OnClickListener() {
                @Override
                public void onClick(DialogInterface dialog, int which) {
                    dialog.cancel();
                }
            });


        }
    });

我原本期望一个带有文本“Ok”的按钮出现在AlertDialog框的底部,这会导致该框在用户按下后消失。

java android alertdialog android-alertdialog
2个回答
3
投票

你不应该在你的setNeutralButton(...)方法之后调用show()。你这样做,这是导致问题。

而不是这个:

dialog.show();
dialog.setNeutralButton(...);

做这个:

dialog.setNeutralButton(...);
dialog.show();

请注意,您应该将所有内容放在dialog.show()上方。否则你会遇到问题。


0
投票

试试这个

Button infoG1;

    infoG1 = (Button) findViewById(R.id.iG1);
    infoG1.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            AlertDialog.Builder info = new AlertDialog.Builder(game1.this);
            info.setMessage("Text here");
            info.setNeutralButton("Ok", new DialogInterface.OnClickListener() {
                @Override
                public void onClick(DialogInterface dialog, int which) {
                    dialog.cancel();
                }
            });
                    info.show();
          }
    });
© www.soinside.com 2019 - 2024. All rights reserved.