Изменить значение фрагмента TextView из CustomView - PullRequest
0 голосов
/ 12 июля 2019

У меня есть 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
    }
}

Ответы [ 2 ]

0 голосов
/ 12 июля 2019

1001 * попробовать *

textview.setText(valueToUpdate);
0 голосов
/ 12 июля 2019

Пожалуйста, проверьте значение valueToUpdate, не равное NULL, и Binding your textview findViewById.

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