Android、kotlinでのアプリ制作を初めたばかりです。
bottomナビゲーションから読み込まれるFragmentの中にstartBtnを設置し、
クリックすることで、hogeFragment02のFragmentに表示を切り替えたいと思っています。
以下で狙った動きはしてくれるのですが、 fragmentManager が非推奨となるようで
正しい形式に切り替えたいと思っているしだいです。
class hogeFragment : Fragment() { override fun onCreateView( inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle? ): View? { val root = inflater.inflate(R.layout.fragment_book, container, false) val startBtn = root.findViewById<Button>(R.id.startBtn) startBtn.setOnClickListener { val fragmentManager: FragmentManager? = **~~fragmentManager~~** if(fragmentManager != null) { val transaction = fragmentManager.beginTransaction() transaction.replace(R.id.nav_host_fragment, hogeFragment02.newInstance()) transaction.addToBackStack(null) transaction.commit() } } return root } }
しらべていると getSupportFragmentManager を利用するとの記述が見られるのですが、単純に置き換えてもActivityを継承したclassでないと、ファンクションが見つからずにエラーになるようでした。
当方、まだまだFragmentやActivityの関係性すら怪しい知識レベルで恐縮なのですが、打開案をお教えいただけましたら幸いです。
回答1件
あなたの回答
tips
プレビュー