Android studio 更改弹出菜单';以编程方式删除内容

Android studio 更改弹出菜单';以编程方式删除内容,android-studio,android-layout,kotlin,popupmenu,Android Studio,Android Layout,Kotlin,Popupmenu,我是安卓工作室的新手。 我已经为弹出菜单创建了一个布局,并在点击按钮后显示它。在菜单项中,有“添加项”将其他项添加到弹出菜单中,但当我简单地执行popup.menu.add(“Title”)时,单击“添加项”只会更改当前菜单的外观,而不是菜单的布局本身,所以下次显示时,它不会更改 我的代码: private fun showPopup(v: View) { val popup = PopupMenu(myActivity, v) val inflater: MenuInflate

我是安卓工作室的新手。 我已经为弹出菜单创建了一个布局,并在点击按钮后显示它。在菜单项中,有“添加项”将其他项添加到弹出菜单中,但当我简单地执行
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:



所以我的问题是,在点击“add item”(添加项目)后,如何将项目添加到弹出菜单中以使其持续存在?

每次调用showPopup(),您都会创建一个全新的弹出菜单界面,该界面可能永远不会再显示(您不会将对象存储在任何位置,因此您肯定不会重复使用该界面)。好的,我这样做了,但当我重新启动应用程序时,菜单中添加的内容消失了。我应该保存菜单的状态吗?是的。是的,你应该
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/add_item"
android:title="+" /></menu>