Android AlertDialog显示空白

时间:2017-11-27 05:17:29

标签: java android

我正在尝试在Fragment中的onCreateView()中创建一个AlertDialog。这是我正在使用的代码:

AlertDialog.Builder builder = new AlertDialog.Builder(getContext()));
builder.setTitle("blah blah blah");
builder.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
    @Override
    public void onClick(DialogInterface dialogInterface, int i) {
        //do something
    }
});
builder.setNegativeButton("No", new DialogInterface.OnClickListener() {
    @Override
    public void onClick(DialogInterface dialogInterface, int i) {
        getActivity().onBackPressed();
    }
});
builder.create().show();

但无论何时执行,我都会得到一个完全白色的对话框,其中没有任何内容可见。如果我点击框周围,我最终会找到正面按钮的位置,因为setPositiveButton的OnClickListener中的代码会被执行。这是一个截图: enter image description here

正如你所看到的,我的应用程序的其余部分都在后台,我留下了一个无用的对话框。我试过改变主题,但这没有任何区别。我似乎无法找到任何有这个问题的人,所以非常感谢任何关于为什么会发生这种情况的信息!

3 个答案:

答案 0 :(得分:1)

试试这个

AlertDialog.Builder builder = new AlertDialog.Builder(getActivity(), R.style.AlertStyle);

添加Style.xml文件

<style name="AlertStyle" parent="Theme.AppCompat.Light.Dialog">
    <item name="android:colorAccent">#f3f3f3</item>
    <item name="android:textColor">#f3f3f3</item>
    <item name="android:textColorPrimary">#f3f3f3</item>
</style>

答案 1 :(得分:0)

create()中删除builder.create().show()方法

builder.show();

答案 2 :(得分:0)

试用所有版本

AlertDialog.Builder builder;
if(Build.VERSION.SDK_INT >= 21)
    builder = new AlertDialog.Builder(this, android.R.style.Theme_Material_Light_Dialog_Alert);
else
    builder = new AlertDialog.Builder(this);
builder.setCancelable(true);
builder.setTitle("title");
builder.setMessage("Message");
builder.create().show();