У меня есть 2 фрагмента: GameFragment и PostGameFragment
В GameFragment у меня есть CustomView с оценкой игрока.
Когда игрок проигрывает, я создал onLoseListener
, который сообщает GameFragment перейти на PostGameFragment, и я хочу обновить там TextView со значением партитуры, находящимся внутри CustomView.
Как мне это сделать?
Я попытался textView.text = valueToUpdate
внутри CustomView, но это дает мне ошибку: textView не должен быть нулевым
Вот мой метод PostGameFragment onCreateView.
В этом фрагменте XML есть TextView, который я хочу обновить.
override fun onCreateView(
inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle?
): View? {
val view: View = inflater.inflate(R.layout.fragment_post_game, container, false)
view.postGameLayout.setBackgroundResource(R.drawable.ic_postgame)
view.button.setOnClickListener { view ->
activity!!.supportFragmentManager
.beginTransaction()
.replace(R.id.fragment_holder,GameFragment.newInstance() )
.addToBackStack(GameFragment.toString())
.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN)
.commit()
}
// Return the fragment view/layout
return view
}
А вот метод внутри моего CustomView, этот метод проверяет, проигрывает ли игрок, если он не проигрывает, тогда он добавляет +1 к счету.
Я хочу обновить TextView с счетом, когда игрок проигрывает.
fun checkLoser() {
if (ballInGame.posy >= height) {
stopAnimation()
onLoseListener.invoke()
}else{
score += 1
}
}