0

我正在创建一个recyclerviewusing cardview. 每个卡片视图都有自己的popUp Menu. 使用默认菜单时效果很好title

菜单.xml

  <item android:id="@id+/add_word" android:title="Add new word" />

现在我想用titlerecyclerview中动态生成的替换默认值。

val wordType = "Verb"//variable
holder.itemView.buttomMenu.setOnClickListener{ view ->

        val popUpMenu = PopupMenu(context,view)
        popUpMenu.setOnMenuItemClickListener { it ->
            when(it.itemId) {
                R.id.add_word -> {  

                 it.title = "Add " + wordType

                    Toast.makeText(context,"Add new Clicked " + wordType,Toast.LENGTH_SHORT).show() 
                               }
                            }
                   true
                    }
        popUpMenu.inflate(R.menu.home_menu_item_menu)
        popUpMenu.show()

                true
                   }

这段代码可以正常工作,但问题是只有当我点击它时才会popUp Menu Item发生变化。title

我希望它title无需单击即可更改。就在之前。直接替换Add new wordto Add Verb,在这种情况下

4

1 回答 1

0

需要改一下顺序,先给popup的view充气popUpMenu.inflate(R.menu.home_menu_item_menu) ,然后在title里面设置动态消息,call popUpMenu.show()方法。

于 2021-01-31T13:34:34.880 回答