我想显示一个带有一个选项的 AlertDialog,该选项可能会随每个请求而改变。因此,例如,有一次我想显示“添加到联系人”选项,而另一次应该是“从联系人中删除”。
我的代码第一次确实可以工作,但是 Android 似乎缓存了 AlertDialog 以便下次不会执行 onCreateDialog 。因此选项不再改变。我可以阻止这种缓存,还是有另一种更改选项的方法?
我正在使用 SDK 1.5,但使用的是 1.1。
@Override
protected Dialog onCreateDialog(final int id) {
...
String add_remove_contact = res.getString(R.string.profile_add_to_contacts);
if (user.getContacts().contains(profileID)) {
add_remove_contact = res.getString(R.string.profile_remove_from_contacts);
// TODO: this string is not changed when contact status changes
}
final CharSequence[] items = {res.getString(R.string.view_profile),
res.getString(R.string.profile_send_message),
add_remove_contact};
AlertDialog.Builder builder = new AlertDialog.Builder(this);
...
return builder.create();
}