Как я могу передать данные из Activity во фрагмент, используя Shared View Model в textChangedListener - PullRequest
0 голосов
/ 01 мая 2020

Я пишу словарь приложения. У меня есть один вид деятельности и три фрагмента. Активность включает в себя панель инструментов, tabLayout и viewpager. Я добавил editext на панель инструментов.

Я хочу переместить данные, введенные в edittext, из действия во фрагмент, используя метод addChangedListener. Я написал интерфейс или модель общего вида, но не могу захватить данные по фрагментам без нажатия клавиши ввода на клавиатуре.

Можете ли вы мне помочь?

Мой метод onTextChanged

  override fun onTextChanged(p0: CharSequence?, p1: Int, p2: Int, p3: Int) {
                    searchViewModel.setName(p0.toString())
                }

Я написал View Model Class:

class SearchViewModel: ViewModel () {

private val mName = MutableLiveData<String>()

fun setName(name: String) {
    mName.value = name
}

fun getName(): LiveData<String>? {
    return mName
}

}

и написал Fragment Class в методе onViewCreated:

 pageViewModel = activity.run {
        ViewModelProvider(this!!).get(SearchViewModel::class.java)
    }
    pageViewModel.getName()!!.observe(viewLifecycleOwner,
        Observer<String?> {

            print("ümit $it")
        })

Спасибо за ответ, хорошего вам дня.

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