Как получить Перезвоните из ViewModel для просмотра в Android - PullRequest
0 голосов
/ 25 января 2019

У меня есть ViewModel

  class MyViewModel extends BaseViewModel{
     public void foo(){
      // some code or return some boolean
      }
    }

Просмотр класса

    class MyView extends View{
    private MyViewModel myviewmodel;
        public void bindTo(MyViewModel viewModel) {
    this.viewModel = viewModel;
    context = viewModel.getContext();
    validateView();
    requestLayout();
}
private validateView(){

//some code
}


    }

этот метод представления привязки связывает с адаптером Я хочу получить обратный вызов в классе Myview, когда я буду вызывать validateView. Пожалуйста, предложите мне, как получить обратный вызов из метода Viewmodel для просмотра в Android.

1 Ответ

0 голосов
/ 25 января 2019

Исправьте меня, если я ошибаюсь

  • сначала вам нужно сделать класс интерфейса
public interface ViewModelCallback {
    void returnCallBack(Boolean mBoolean);
}
  • , затем ваш класс View реализует этот класс интерфейса и переопределить этотmethod
class MyView extends View implements ViewModelCallback

 @Override
    public void returnCallBack(Boolean mBoolean) {
        //here you will retrieve callback
       // Do Something
    }
  • Далее вы просто передаете значение из вашей модели представления
class MyViewModel {
    private ViewModelCallback myViewCallBack;

    public void foo() {
        Boolean yourReturnValue = false;
        myViewCallBack.returnCallBack(yourReturnValue);
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...