как вызвать интерфейсный метод в представлении модели класса фрагмента в котлине - PullRequest
0 голосов
/ 12 ноября 2018

У меня есть Activity, который называется Homeactivity, и у меня есть фрагмент Notification и их класс ViewModel, я хочу обновить количество уведомлений из фрагмента ViewModel, и я объявил этот интерфейс вне уведомления ViewModel и я не могу вызвать метод этого интерфейса в Kotlin

class NotificationsViewModel(val notificationsActivity: HomeActivity) : 
          BaseObservable() {  


 //somewhere i want to update count which is in homeactivity

    } 
  interface NotifyCount {
    fun notifyNotificationCount(count: String)

}

Мой класс фрагментов приведен ниже

class NotificationsFragment : Fragment() {
private var notificationsBinding: NotificationsActivityBinding? = null

override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
    notificationsBinding=  DataBindingUtil.inflate(inflater, R.layout.notifications_activity,container,false)
    notificationsBinding!!.viewModel= NotificationsViewModel(activity!! as HomeActivity)
    return notificationsBinding!!.root
}

}

Я просто хочу вызвать метод notifyNotificationCount в ViewModel, чтобы обновить счет с HomeActivity, переопределив NotifyCount

как я могу вызвать метод notifyNotificationCount в viewModel` класс?

1 Ответ

0 голосов
/ 12 ноября 2018

Вы можете использовать MutableLiveData в своем классе ViewModel и наблюдать значение счетчика уведомлений, всякий раз, когда значение счетчика уведомлений изменяется, оно сообщит наблюдателю о классе.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...