Вернуть целое число из OnClickListener за пределы функции (Android, Java)

1

Поэтому, ребята, я хочу вернуть целое число вне моей функции OnClickListener:

 hello.setOnClickListener(new View.OnClickListener() {
        public void onClick(View view) {
            int choice = 1;
        }
    });

if (choice == 1) {
    //Do stuff here
}

Извините за этот вопрос новичков, но я понятия не имею, как это решить... Спасибо

Теги:

4 ответа

3
Лучший ответ

Попробуйте сделать choice членом своей деятельности:

int choice; // member field

protected void onCreate(Bundle savedInstanceState) {
    . . .
    hello.setOnClickListener(new View.OnClickListener() {
        public void onClick(View view) {
            choice = 1; // no "int" declaration
        }
    });
}

// later inside some method:
    if (choice == 1) {
        // do stuff here
    }
0
        int chocie = null;
@Override
protected void onCreate(Bundle savedInstanceState) {}



hello.setOnClickListener(new View.OnClickListener() {
    public void onClick(View view) {
        int choice = 1;
           runTesting();
    }
});


 '       public void runTesting(){

switch(choice){

case 1:

//должный материал

break;
}

}

  • 0
    int chocie = null; не собирается компилировать.
  • 0
    sry current rember, как инициализировать int varibals
0

Вы можете попробовать следующее:

int choice = 0;

hello.setOnClickListener(new View.onClickListener() {
       public void onClick(View view) {
           choice = 1;
       }
   });

if (choice == 1) {
    //Do stuff here
}
0

onClickListener - это интерфейс, который означает, что вы должны реализовать метод onClick который возвращает void. Вы можете установить choice как глобальный член (определить его перед onCreate) и установить его значение в onClick()

Ещё вопросы

Сообщество Overcoder
Наверх
Меню