У меня есть 2 фрагмента: MainGameFragment и PostGameFragment
Когда запускается MainActivity, он переходит в MainGameFragment, где у меня есть CustomView с анимацией (это будет игра).
Внутри CustomViewЯ проверяю каждый кадр, если проигрыватель проигрывает, когда он проигрывает, я вызываю метод.
Мне нужно перейти на PostGameFragment изнутри CustomView, когда проигрыватель проигрывает и вызывается метод.
КакМогу ли я это сделать?
Я пытался использовать supportFragmentManager, но я получаю следующее: Неразрешенная ссылка: supportFragmentManager
Вот мой код GameFragment, gameView - это идентификатор CustomView, который находится внутри GameFrament, и Game isкласс для gameView, где у меня есть метод onDraw и onLoseListener.
private const val ARG_PARAM1 = "param1"
private const val ARG_PARAM2 = "param2"
class GameFragment : Fragment() {
private var param1: String? = null
private var param2: String? = null
private var listener: OnFragmentInteractionListener? = null
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
arguments?.let {
param1 = it.getString(ARG_PARAM1)
param2 = it.getString(ARG_PARAM2)
}
}
override fun onCreateView(
inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle?
): View? {
// Inflate the layout for this fragment
val view: View = inflater.inflate(R.layout.fragment_game, container, false)
gameView.onLoseListener = {
println("Testing..")
}
// Return the fragment view/layout
return view
}
fun onButtonPressed(uri: Uri) {
listener?.onFragmentInteraction(uri)
}
override fun onAttach(context: Context) {
super.onAttach(context)
if (context is OnFragmentInteractionListener) {
listener = context
} else {
throw RuntimeException(context.toString() + " must implement OnFragmentInteractionListener")
}
}
override fun onDetach() {
super.onDetach()
listener = null
}
interface OnFragmentInteractionListener {
fun onFragmentInteraction(uri: Uri)
}
companion object {
@JvmStatic
fun newInstance() =
GameFragment().apply {
arguments = Bundle().apply {
}
}
}
}