Как установить Visibility внутри класса, расширяющего FrameLayout?

У меня есть класс FAB, расширяющий FrameLayout, где я хочу иметь метод скрытия, который реализует эффект раскрытия. Поэтому мне нужно установить видимость невидимым:

public class FloatingActionButton extends FrameLayout implements Checkable {
    ...
    private void hide() {
        ...
            this.setVisibility(View.INVISIBLE);
        ...
        hideFabAnimator.start();
    }
}

Но я получаю сообщение об ошибке при попытке позвонить setVisibility() on 'this': "Не удается разрешить метод setVisibilty(int)'".

1 ответ

Решение

Кажется, что this.setVisibility(View.INVISIBLE); находится внутри другого класса. Это этот случай FloatingActionButton.this.setVisibility(View.INVISIBLE) решит вашу проблему.

Вы можете найти объяснение здесь.

Другие вопросы по тегам