【问题标题】:displaying AlertDialog inside tab view activity consisting of fragments在由片段组成的选项卡视图活动中显示 AlertDialog
【发布时间】:2018-04-22 17:36:46
【问题描述】:

我正在尝试在由片段组成的选项卡视图活动中显示AlertDialog。 这是我的java代码

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    // Handle action bar item clicks here. The action bar will
    // automatically handle clicks on the Home/Up button, so long
    switch (item.getItemId()) {
        case R.id.dis:
            AlertDialog.Builder alertDialog = new AlertDialog.Builder(MainActivity.this); //Read Update
            alertDialog.setTitle("Support us to improve");
            alertDialog.setMessage(R.string.w4);
            alertDialog.show();
            alertDialog.setPositiveButton("yes", new DialogInterface.OnClickListener() {
                @Override
                public void onClick(DialogInterface dialogInterface, int i) {
                    dialogInterface.dismiss();
                }
            });
            return true;
        default:
            return super.onOptionsItemSelected(item);
    }
}

现在我可以显示对话框了,但是 onclick 监听器对setPositiveButton() 不起作用,对话框中没有显示按钮。

这是我现在的输出,我如何在这里添加一个按钮。

【问题讨论】:

    标签: android android-alertdialog


    【解决方案1】:

    在显示对话框之前添加正按钮。

     AlertDialog.Builder alertDialog = new AlertDialog.Builder(MainActivity.this); 
            alertDialog.setTitle("Support us to improve");
            alertDialog.setMessage(R.string.w4);
            alertDialog.setPositiveButton("yes", new DialogInterface.OnClickListener() {
                @Override
                public void onClick(DialogInterface dialogInterface, int i) {
                    // Do your stuff
                }
            });
           alertDialog.show();
    

    您也不需要调用dialogInterface.dismiss();,它会自动关闭。默认按钮的AlertDialog's 属性。

    【讨论】:

    • 我试过你刚才告诉我的,结果还是一样,按钮没有显示
    • 你确定你使用了上面的代码并且只调用了一次show()。因为它应该可以工作。
    • 是的,这正是我所做的,我认为问题出在 onclick 监听器上——这段代码在活动中运行良好,但现在我在标签视图活动中使用它,里面有片段,对话框实际上在那里显示,但遗憾的是其中没有按钮
    • 这没有任何意义。 AlertDialog 仅取决于上下文。尝试清理并重建项目并重新安装 apk。还要检查按钮文本颜色是否不是白色。按钮可能与背景颜色具有相同的文本颜色。 Try This.
    • 文字颜色和背景是一样的,我改了,现在一切正常,谢谢伙计——他解决了我的问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-11-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-04
    • 1970-01-01
    相关资源
    最近更新 更多