У меня есть двойной, который я создал внутри одного на клик-слушателе, и я хочу получить к нему доступ в отдельном прослушивателе кликов в том же java-файле. каждый раз, когда я печатаю имя переменной, оно появляется красным цветом, возможно ли это сделать?Как получить доступ к переменной внутри OnClickListener
ответ
Да, объявите его глобальной переменной вашего класса.
class MainActivity
{
String editableString;
public void onCreate() { ... }
}
Конечно!
class X {
String s;
JTextField field1 = new JTextField();
JTextField field2 = new JTextField();
JButton button = new JButton();
button.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent arg0) {
s = field1.getText();
field2.setText(s);
}
});
}
В этом примере я сделал именно то, что вы просили :). Просто объявите переменную OUTSIDE Listener, тогда вы сможете получить доступ к ней, где хотите. ВНИМАНИЕ: Остерегайтесь «NullPointerExceptions». Если вы объявите что-то без его инициализации, как я сделал «String s;», его значение по умолчанию равно null. Если вы попытаетесь получить к нему доступ до его инициализации, вы получите нуль.
спасибо, в конце концов я понял, что нужно быть на самом верху моего класса, и все это сработало – ez4nick
Еще раз, будьте осторожны с ошибками nullpointer. Эта ошибка действительно очень распространена, когда вы объявляете что-то «на самом верху класса» :). –
ОК спасибо, что сработало – ez4nick