Я хочу взаимодействовать с моим View (Activity) из ViewModel.Использование View.VISIBLE из ViewModel - PullRequest
0 голосов
/ 12 июня 2018

Я хочу скрыть и показать свои взгляды из кода.Одним из вариантов является использование View.VISIBLE из моей ViewModel, но это повлияет на тестирование кода в ViewModel.

Я читал, что не рекомендуется использовать специфичные для Android вещи из ViewModel.

Либо я могу создать интерфейс и взаимодействовать с представлением, но это будет иметь ссылку на представление.Это будет хороший подход?В настоящее время я не использую Компонент жизненного цикла ViewModel и расширяю свой класс с помощью BaseObservable.

Например.

У меня есть

    @Bindable
    public int getButtonsVisibility() {
     //return visibility 
    }

и

 public void setButtonsVisibility(int buttonsVisibility) {
        this.buttonsVisibility = buttonsVisibility;
        notifyPropertyChanged(BR.buttonsVisibility);
    } 

Теперь Если я хочу позвонить setButtonsVisibility(View.VISIBLE) из моей viewModel, какой будет хороший подход?

1 Ответ

0 голосов
/ 12 июня 2018

Я придерживаюсь этого подхода для управления видимостью ..

<data>
    <import type="android.view.View"/>
    <variable
        name="visible"
        type="java.lang.Boolean"/>
</data>

<View android:visibility="@{visible ? View.GONE : View.VISIBLE}"/>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...