2013-06-23 4 views
1

У меня есть двойной, который я создал внутри одного на клик-слушателе, и я хочу получить к нему доступ в отдельном прослушивателе кликов в том же java-файле. каждый раз, когда я печатаю имя переменной, оно появляется красным цветом, возможно ли это сделать?Как получить доступ к переменной внутри OnClickListener

ответ

2

Да, объявите его глобальной переменной вашего класса.

class MainActivity 
{ 
    String editableString; 

    public void onCreate() { ... } 
} 
+0

ОК спасибо, что сработало – ez4nick

1

Конечно!

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. Если вы попытаетесь получить к нему доступ до его инициализации, вы получите нуль.

+0

спасибо, в конце концов я понял, что нужно быть на самом верху моего класса, и все это сработало – ez4nick

+0

Еще раз, будьте осторожны с ошибками nullpointer. Эта ошибка действительно очень распространена, когда вы объявляете что-то «на самом верху класса» :). –