当我按下带有动态数据的按钮时,我会出现一个对话框,但是当我再次按下相同的按钮时,会出现相同的数据。我使用日志找出为什么下一个问题没有显示有一个警告“Window已经集中忽略焦点“下面是代码
protected Dialog onCreateDialog(int id)
{ AlertDialog.Builder dilog = new AlertDialog.Builder(this);
switch (id)
{
case 99:
String qa = showNext(); //gets question from database new question every time
dilog.setTitle("Team A player" + contactList.get(1).getName());
dilog.setMessage(qa);
dilog.setNegativeButton("ok", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int id)
{
dialog.cancel();
}
});
break;
}
return dilog.create();
}
答案 0 :(得分:1)
每次用户按下按钮时,使用onPrepareDialog(int id, Dialog dialog)方法更新对话框的数据。
答案 1 :(得分:1)
您可以创建对话框并在onCreateDialog()中设置其数据。 如果系统没有提供的对话框ID的对象,系统将调用此方法。 一旦创建,就永远不会再被调用。您必须使用Activity.onPrepareDialog()内的最新数据修改现有对话框。这个警告并不重要,你可以忽略它。