我有一個使用從我的片段中定義的應用欄,而不是通過使用的活動
override fun onViewCreated(view。View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
binding.toolbar.apply {
//添加選單。
inflateMenu(R.menu.menu_fragment)
//setup with navcontroller/navgraph
setupWithNavController(findNavController())
}
}
我所面臨的問題是,當用戶使用應用欄點擊Navigate Up按鈕時,試圖實作一個警告資訊。我只想在一個片段中實作這一行為。
我在網上找到了與定義在活動中的應用欄有關的解決方案,但它們似乎對我不起作用(例如使用覆寫功能 onSupportNavigateUp()。
如果我能夠完成這個任務,有什么想法嗎?
uj5u.com熱心網友回復:
很不理解你的問題!.
。盡管如此,對于你的Navigate Up按鈕Click,請嘗試這樣做。 requireActivity().onBackPressed()
uj5u.com熱心網友回復:
我所面臨的問題是,當用戶使用應用欄點擊Navigate Up按鈕時,試圖實作一條警告資訊。我只想在一個片段中實作這一行為。
因此,您只需為該特定片段捕獲點擊應用欄的向上按鈕的事件即可。
您可以為該片段啟用選項選單:
您可以為該片段啟用選項選單。
setHasOptionsMenu(true)并且覆寫
onOptionsItemSelected來捕捉UP按鈕的id:override fun onOptionsItemSelected( item: MenuItem)。Boolean { if (item.itemId == android.R.id.home) { //處理這里的上升按鈕。 Toast.makeText(requireContext(), "UP按鈕被點擊", Toast.LENGTH_SHORT).show() return true } return super.onOptionsItemSelected(item) }注意:如果你想為該片段使用一個獨特的工具條,而不是默認的工具條,請檢查這個答案.
。現在我無法使用inflateMenu(R.menu.menu_fragment)來為我的選單充氣。有什么想法嗎?
你可以去掉這個膨脹,改為覆寫
onCreateOptionsMenu來實作:override fun onCreateOptionsMenu(menu: Menu, inflater: MenuInflater) { inflater.inflate(R.menu.menu_fragment, menu) }轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/318383.html
標籤:
上一篇:Sed命令列印出全行
