![](/img/trans.png)
[英]Is it possible to disable access to fragment's layout(views) from parent activity?
[英]Access parent activity views from fragment in tablayout?
我正在使用TabLayout
和ViewPager
。 我有 3 個片段和 3 個標簽。 我想訪問activitymain.xml
文件中的FloatingActionButton
。
在每個片段中,我都編寫了這樣的代碼:
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
val fab :View= (requireActivity() as MainActivity).findViewById(R.id.fab_main)
fab.setOnClickListener {
Toast.makeText(context,"Fragment1",Toast.LENGTH_SHORT).show()
}
}
但是,當我單擊每個片段中的FloatingActionButton
時,它會給我與最后一個片段相關的相同 Toast 消息。 單擊按鈕時,我想在每個片段中執行不同的操作。
您可以將 FragmentStatePagerAdapter 用於選項卡 function
class TabAdapter(fm: FragmentManager) : FragmentStatePagerAdapter(fm, BEHAVIOR_RESUME_ONLY_CURRENT_FRAGMENT) {
..........
}
當片段處於活動狀態時,它將使片段調用 onResume。 所以你可以在片段中喜歡這個
override fun onResume() {
super.onResume()
val fab :View= (requireActivity() as MainActivity).findViewById(R.id.fab_main)
fab.setOnClickListener {
Toast.makeText(context,"Fragment1",Toast.LENGTH_SHORT).show()
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.