Java Android AlertDialog全局变量使用
我面临一个奇怪的问题。在我的一个活动类中,有一个对象名“term”定义为全局变量。我在显示警报对话框的方法中使用此变量。假设我首先将标题设置为123Java Android AlertDialog全局变量使用,java,android,android-alertdialog,Java,Android,Android Alertdialog,我面临一个奇怪的问题。在我的一个活动类中,有一个对象名“term”定义为全局变量。我在显示警报对话框的方法中使用此变量。假设我首先将标题设置为123 term.setTitle("123"); 然后显示警报对话框。显示警报对话框的代码为: private void displayNoteDialog() { final CharSequence[] items = { AgileFlashCardConstants.CREATE_NEW_NOTE,
term.setTitle("123");
然后显示警报对话框。显示警报对话框的代码为:
private void displayNoteDialog() {
final CharSequence[] items = {
AgileFlashCardConstants.CREATE_NEW_NOTE,
AgileFlashCardConstants.SHOW_CUSTOM_NOTE,
AgileFlashCardConstants.EDIT_FLASH_CARD + " - " + term.getTitle()
};
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("Note Options");
builder.setItems(items, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int item) {
if(AgileFlashCardConstants.CREATE_NEW_NOTE.equals(items[item])) {
createNewNote();
} else if(AgileFlashCardConstants.SHOW_CUSTOM_NOTE.equals(items[item])) {
displayCustomNoteDialog();
} else if(AgileFlashCardConstants.EDIT_FLASH_CARD.equals(items[item])) {
editFlashCard();
}
}
});
builder.setPositiveButton("Close", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
dialog.cancel();
}
});
builder.setIcon(R.drawable.note_icon);
AlertDialog alert = builder.create();
alert.show();
显示并关闭警报对话框后,我的应用程序将修改“术语”以具有不同的标题
term.setTitle("ABC");
问题是,下次我再次显示AlertDialog时,它不会从修改的全局对象中拾取值。它继续显示最初传递的“term”对象的值。(在本例中为“123”)
我尝试在AlertDialog第一次显示后将其关闭。但似乎没有帮助。不确定我在这里遗漏了哪一块拼图。我想我需要更多的代码,只要调用
displayNoteDialog()
以及调用term.setTitle()
。我能想到的唯一一个想法是,对话框保持内存,并在方法中调用范围为final的变量。尝试设置断点或使用变量数据写入日志代码>。在您的代码中,我没有看到您更新了全局变量。