当前位置:  开发笔记 > 编程语言 > 正文

Android 7.1.1下缺少对话框按钮

如何解决《Android7.1.1下缺少对话框按钮》经验,为你挑选了1个好方法。

这是我的应用程序中显示的AlertDialog的图片.它应该有一个拒绝和一个接受按钮.

正如你所看到的那样:

在此输入图像描述

我无法重现此错误,因为我没有安装Android 7.1的手机.照片是在Google Pixel上拍摄的并发送给我.

此应用程序测试的所有其他Android版本都没有遇到此错误.(版本4.1,6.0.1)

以下是创建对话框的方法的代码:

  /**
 * Creates a 2 options dialog.
 * @param context
 * @param title headline of the dialog
 * @param message main text of the dialog
 * @param accept listener for the accept button
 * @param deny listener for deny button
 * @param acceptText text of the positive answer button
 * @param denyText text of the negative answer button
 * @param cancelable weather a click to anywhere but the presented buttons dismisses the dialog
 * @return a created dialog instance. To display it call show()
 */
public static AlertDialog createAcceptDenyDialog(Context context,
                                                 String title, String message, String acceptText,
                                                 String denyText, boolean cancelable,
                                                 DialogInterface.OnClickListener accept,
                                                 DialogInterface.OnClickListener deny,
                                                 DialogInterface.OnDismissListener dismiss){
    AlertDialog.Builder alertDialog = new AlertDialog.Builder(context)
            .setTitle(title)
            .setMessage(message)
            .setPositiveButton(acceptText, accept)
            .setNegativeButton(denyText, deny)
            .setCancelable(cancelable)
            .setOnDismissListener(dismiss);
    return alertDialog.create();
}

这是导致对话框显示的代码:

public void showRequestErrorRetryDialog(String title, String message) {
    Dialog dialog  = DialogFactory.createAcceptDenyDialog(this
            , title
            , message
            , getString(R.string.retry_button)
            , getString(R.string.abort_button)
            , true
            , (dialogInterface, i) -> {
                onStartServerCommunication();
                showProgressOverlay();
            }
            , null
            , null);
    dialog.show();
}

如你所见,我使用retrolambda.

有谁知道会发生什么?



1> tryp..:

对我有用的解决方案是在我的style.xml上添加以下行:

// your main style


// dialog style


// button's dialog style

它工作得很好,我希望它会帮助你们.

推荐阅读
ifx0448363
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有