这是在我的应用程序中显示的 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。
有谁知道会发生什么?