如何setSupportActionBar用 kotlin 语言调用片段。我有一个带有导航抽屉的 mainActivity。当我点击导航抽屉的第一项时,它应该打开一个 notesFragment 。我想为 notesFragment 设置一个工具栏。当我尝试使用AppCompatActivity().setSupportActionBar(toolbar_top)该应用程序时,当我单击导航抽屉的第一项时崩溃,并出现错误
java.lang.NullPointerException:尝试在空对象引用上调用虚拟方法“android.view.Window$Callback android.view.Window.getCallback()”
class notesFragment:Fragment(){
override fun onCreateView(inflater: LayoutInflater?, container: ViewGroup?, savedInstanceState: Bundle?): View? {
AppCompatActivity().setSupportActionBar(toolbar_top)
AppCompatActivity().getSupportActionBar()!!.setDisplayShowTitleEnabled(false)
fragments()
AppCompatActivity().getSupportActionBar()!!.setDisplayHomeAsUpEnabled(true)
return inflater!!.inflate(R.layout.main_fragment,null)
}
fun fragments() {
var tabLayout=tab
var viewPager=viewPager
var adapter=viewPagerAdapterMainActivity(AppCompatActivity().supportFragmentManager)
adapter.addFragment(firstFragment(),"first")
adapter.addFragment(secondFragment(),"second")
adapter.addFragment(thirdFragment(),"third")
viewPager.adapter=adapter
tabLayout.setupWithViewPager(viewPager)
}
}
Run Code Online (Sandbox Code Playgroud)
当您使用 Kotlin 时,您可以尝试将 Activity 智能转换为 AppCompatActivity,然后您可以访问支持操作栏:
(activity as AppCompatActivity).supportActionBar
Run Code Online (Sandbox Code Playgroud)
请注意,这仅在您的主机活动扩展 AppCompatActivity 时才有效。
| 归档时间: |
|
| 查看次数: |
5965 次 |
| 最近记录: |