我正在开发一款简单的游戏。我正在使用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();
}
在填充数据库之前,以及在将文本添加到“警报对话框”
之前添加文字后
正如您所看到的,当我向其添加文本时,AlertDialog会变大。如果您在我的代码中发现任何错误或者您想要查看更多错误,请与我们联系。
答案 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();