У меня есть два фрагмента A и B.
В первом у меня есть customSpinner
с элементами текста и изображения. Во втором у меня есть editText
, что позволяет мне переименовывать текст выбранного элемента customSpinner
.
Моя проблема заключается в том, как обновить текст нового элемента в моем customSpinner
?
FragmentB
if (name.isNotEmpty()) {
sharedViewModel.setNewPackName(name)
}
SharedViewModel
val currentPackName = MutableLiveData<String>()
fun setNewPackName(newName: String) {
currentPackName.postValue(newName)
}
FragmentA
sharedViewModel.currentPackName.observe {
Toast.makeText(context, it, Toast.LENGTH_SHORT).show()
val position = customSpinner.selectedItemPosition
allUserPacks[position].packName = it
spinnerAdapter.notifyDataSetChanged()
}
My customSpinner
построен на списке allUserPacks
, который содержит элементы класса Pack
с полями packName и packIcon , который использует 'customSpinner'.
Но когда я использую кнопку "Назад" в FragmentB
, теперь отображается тост в FragmentA
, и я не могу получить имя нового пакета. Как я могу обновить свой спиннер?