Я тяну волосы за это.
У меня есть приложение, которое, когда вы нажимаете на элемент меню, отображает диалоговое окно с предупреждением о входе.Когда пользователь нажимает «ОК», тогда текст, который он ввел в EditText в диалоговом окне, хочет вернуть, чтобы использовать его позже в упражнении.
Поэтому я подумал:
name = input.getText().toString(); //input is an EditView which is the setView() of the dialog
Внутри onClick кнопки «ОК» будет работать, но это не так.Eclipse говорит мне, что я не могу установить имя внутри onClick, потому что оно не является окончательным, но если я изменю определение имени на final, оно не может быть явно изменено и поэтому не может быть установлено внутри onClick ().
Вот полный код этого бита:
String routeName = "";
AlertDialog.Builder alert = new AlertDialog.Builder(this);
alert.setTitle("Title");
alert.setMessage("Message");
// Set an EditText view to get user input
final EditText inputName = new EditText(this);
alert.setView(inputName);
alert.setPositiveButton("Set Route Name", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
routeName = inputName.getText().toString();
}
});
alert.show();
Я, должно быть, делаю что-то действительно глупое, потому что я гулял целую вечность и не нашел больше никого с такой же проблемой.
Может ли кто-нибудь, пожалуйста, просветить меня?
Спасибо за ваше время,
InfinitiFizz