Android 如何在fragment中创建选项菜单

Android 如何在fragment中创建选项菜单,android,android-layout,android-fragments,kotlin,Android,Android Layout,Android Fragments,Kotlin,如何使用kotlin在片段中添加选项菜单 class HomeFragment : Fragment() { companion object { lateinit var drawerLayout:DrawerLayout lateinit var toolbar: android.support.v7.widget.Toolbar private lateinit var toggle: ActionBarDrawerToggle } override

如何使用kotlin在片段中添加选项菜单

class HomeFragment : Fragment() {

companion object {
    lateinit var drawerLayout:DrawerLayout
    lateinit var toolbar: android.support.v7.widget.Toolbar
    private lateinit var toggle: ActionBarDrawerToggle



}



override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?,
                          savedInstanceState: Bundle?): View? {
    // Inflate the layout for this fragment
    val v = inflater.inflate(R.layout.fragment_home, container, false)
    setHasOptionsMenu(true)

    toolbar = v.findViewById(R.id.toolBar) as Toolbar
    toolbar.inflateMenu(R.menu.menuhome)




    drawerLayout = v.findViewById(R.id.drawer_Layout)

    // Creating toggle

    toggle = ActionBarDrawerToggle(activity, drawerLayout, toolbar,R.string.navigaionopen,R.string.drawerClosed)
    drawerLayout.addDrawerListener(toggle)
    toggle.syncState()






    return v
}


override fun onOptionsItemSelected(item: MenuItem?): Boolean {
    when(item!!.itemId){
        R.id.search -> {Toast.makeText(context,"Search",Toast.LENGTH_SHORT).show()}

        R.id.send -> {Toast.makeText(context,"Send selected",Toast.LENGTH_SHORT).show()}
    }
    return super.onOptionsItemSelected(item)
}
我已经添加了,但当我点击三点图标或ifroom图标时,应用程序将崩溃。


创建选项菜单上的overide在我的应用程序上不起作用

为了有一个选项菜单,您需要在onCreate中告诉您的片段,然后覆盖OnCreateOptions菜单。 然后,要处理对项目的任何单击,请覆盖OnOptions ItemSelected() 您的全部活动应如下所示:

class TestFragment : Fragment() {
override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setHasOptionsMenu(true)
}

override fun onCreateOptionsMenu(menu: Menu, inflater: MenuInflater) {
    inflater.inflate(R.menu.menu_test, menu);

    super.onCreateOptionsMenu(menu, inflater)
}

您也可以尝试使用android提供的actionBar小部件,以防appcompat one不适用于您

您会遇到什么错误?在创建选项菜单上发布它,以及它如何失效?您的意思是什么?