为什么AlertDialog显示空白消息?

时间:2017-06-08 04:30:33

标签: android alertdialog

我正在开发一款简单的游戏。我正在使用SQLite来保存数据,我试图在AlertDialog弹出窗口中显示数据。似乎文本被放置在它应该的位置,但它没有显示。文本应该是一个空白区域。 这些是我用来制作AlertDialog并向其添加文本的方法:

public void viewAll() {

    allGames.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            Cursor res = myDb.getAllData();
            if (res.getCount() == 0) {
                //show message
                showMessage("Error", "No data found");
                return;
            }
            StringBuffer buffer = new StringBuffer();
            while (res.moveToNext()) {
                buffer.append("Name : " + res.getString(0)+ "\n");
                buffer.append("Tries : " + res.getString(1)+ "\n");
                buffer.append("Difficulty : " + res.getString(2)+ "\n\n");
            }
            showMessage("Data", buffer.toString());
        }
    });
}

public void showMessage(String title, String Message) {
    AlertDialog.Builder builder = new AlertDialog.Builder(this);
    builder.setCancelable(true);
    builder.setTitle(title);
    builder.setMessage(Message);
    builder.show();
}

在填充数据库之前,以及在将文本添加到“警报对话框”

之前

enter image description here

添加文字后

enter image description here

正如您所看到的,当我向其添加文本时,AlertDialog会变大。如果您在我的代码中发现任何错误或者您想要查看更多错误,请与我们联系。

1 个答案:

答案 0 :(得分:3)

尝试以下答案,该答案适用于所有版本: -

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();