以编程方式更改弹出菜单的内容

时间:2019-12-30 18:57:46

标签: android-studio android-layout kotlin popupmenu

我是android studio的新手。 我已经为弹出菜单创建了一个布局,并在单击按钮后显示了它。在菜单项中,有一个“添加项”可将其他项添加到弹出菜单中,但是当我单击“添加项”时仅执行popup.menu.add("Title")时,它只会更改当前菜单外观,而不是菜单本身的布局,因此当我下次显示它,它不会改变。

我的代码:

private fun showPopup(v: View) {
    val popup = PopupMenu(myActivity, v)
    val inflater: MenuInflater = popup.menuInflater
    inflater.inflate(R.menu.group_menu, popup.menu)

    popup.setOnMenuItemClickListener{ item: MenuItem? ->

        when (item!!.itemId) {
            R.id.add_item -> {
                Toast.makeText(context, item.title, Toast.LENGTH_SHORT).show()
                val dbHelper = DBHelper(myActivity)
                popup.menu.add("Title")
            }
        }

        true
    }

    popup.show()
}

XML:

<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/add_item"
android:title="+" /></menu>

所以我的问题是,在单击“添加项目”以使其保留在那里后,如何将项目添加到弹出菜单? 谢谢你的帮助。

0 个答案:

没有答案