Kotlin:如何在选项卡式活动上添加操作栏菜单?

问题描述 投票:0回答:1

我有一个带有片段的选项卡式活动。现在,我只需要添加一个操作栏菜单。我猜我在mainactivity中添加了操作栏。我该怎么办?

我已经尝试为每个片段添加一个动作栏,但是看起来好像无法在Kotlin中完成。我是android开发的新手,但是我能够使用java执行此任务。我正在将我的小型项目转换为Kotlin,应该比Java容易。

class MainActivity:AppCompatActivity(){

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.activity_main)
    val sectionsPagerAdapter = SectionsPagerAdapter(this, supportFragmentManager)
    val viewPager: ViewPager = findViewById(R.id.view_pager)
    viewPager.adapter = sectionsPagerAdapter
    val tabs: TabLayout = findViewById(R.id.tabs)
    tabs.setupWithViewPager(viewPager)
    val fab: FloatingActionButton = findViewById(R.id.fab)


    fab.setOnClickListener { view ->
        Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG)
            .setAction("Action", null).show()
    }

    fun onCreateOptionsMenu(menu: Menu): Boolean {
        menuInflater.inflate(R.menu.mainmenu, menu)
        return true
    }


}

}

kotlin android-actionbar fragment
1个回答
0
投票

实际上已经知道了。我的问题基本上是毫无意义的。应该是如何在AppBarLayout中添加菜单的。我的应用程序正在使用选项卡式活动。

我所要做的只是在我的主要活动布局下,我需要在Appbarlayout下添加一个工具栏。

然后在主活动Oncreate下,我添加了

setSupportActionBar(toolbar)val actionBar = supportActionBar

然后调用oncreateoptions菜单

override fun onCreateOptionsMenu(menu: Menu): Boolean { // Inflate the menu to use in the action bar val inflater = menuInflater inflater.inflate(R.menu.mainmenu, menu) return super.onCreateOptionsMenu(menu) }

© www.soinside.com 2019 - 2024. All rights reserved.