Страницы

Поиск по вопросам

суббота, 1 февраля 2020 г.

Доступ к объекту класса из вложенного класса

#java


public class MainMenuScreen extends GameScreen {
...
    btn.setClickListener(new ClickListener() {
        @Override
        public void click(Button btn) {
            game.removeScreen(/*Вот здесь нужно получить доступ к объекту класса
MainMenuScreen*/);
        }
    });
...
}

Выше в комментарии написано что мне нужно. Есть ли такая возможность?
Пока что вынес работу в отдельный метод
public class MainMenuScreen extends GameScreen {
...
    btn.setClickListener(new ClickListener() {
        @Override
        public void click(Button btn) {
            startGameLoop();
        }
    });
...
    private void startGameLoop(){
             // нужная работа с обращением к this
    }
}

но интересует возможность прямого доступа именно в первом варианте.
Надеюсь доступно объяснил :)    


Ответы

Ответ 1



MainMenuScreen.this. - вот так.

Ответ 2



в MainMenuScreen добавьте метод private MainMenuScreen getInstance() { return this; } и дергайте на здоровье во внутренних классах.

Ответ 3



Для того, что иметь доступ к полю из анонимного внутреннего класса, нужно пометить его как final.

Комментариев нет:

Отправить комментарий