0
因此,我已经在Android活动中获得了AlertDialog的代码,虽然它在正确的时刻运行并弹出,但当我按下“确定”按钮时,它应该保存我放入的两个变量,分成2个字符串,这些字符串在活动之后应该能够使用这些字符串。从Android中的AlertDialog返回/保存值?
private void showDialog(){
AlertDialog.Builder alertdg = new AlertDialog.Builder(this);
alertdg.setTitle("Choose page");
alertdg.setMessage("Choose episode/page");
final EditText page = new EditText(this);
final EditText episode = new EditText(this);
page.setWidth(210);
episode.setWidth(210);
LinearLayout layout = new LinearLayout(this);
layout.addView(episode);
layout.addView(page);
alertdg.setView(layout);
alertdg.setPositiveButton("Ok", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
episodeString = episode.getText().toString();
pageString = page.getText().toString();
}
});
alertdg.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
}
});
alertdg.show();
}
是的,如果你想知道我已经宣布了2串“episodeString”,并在活动开始的地方“pageString”,我知道我正确地宣布他们。现在我想知道的是,为什么我不能返回这些值,以便其余的活动可以使用它们?我已经尝试了很多次,但对话框不会返回/保存值...我做错了什么?
你调试的代码的这一部分?如果是,你是否打印过onClick后的值。我假设在OnClick中存在问题 –
嗯,你正在做的一切都是正确的。所以技术上你的代码应该可以工作。你能告诉我如何/何时访问这些变量,以及你在哪里定义了它们。 就像@Drax说的那样,尝试在onClickListener中记录值,确保你至少得到了值。 –
我想我知道你在做什么,你是否试图在调用'showDialog'时尽快使用这些变量?看到,只有在按下OK按钮之后,变量才会被填入数值,直到它们变空为止。我希望这能解决这个问题。 – st0le