在我的菜单xml中,我有这个:
<item
android:id="@+id/action_payoff"
android:visible="true"
android:checkable="true"/>
在我adapter
的{{1}}方法中,每个菜单项都有相同的getView()
,我这样做:
PopUpMenu
我得到 holder.ib.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
PopupMenu popup = new PopupMenu(getContext(), v);
popup.getMenu().findItem(R.id.action_payoff).setChecked(true);
。当我删除NullPointerException
时,所有工作正常(当然我的setChecked(true);
项目中的复选框未被选中)
有没有人有这个想法?
旁注:当然,还有一些尚未内置的逻辑。在我使用PopUpMenu
有条件地连接之前,我只是尝试以编程方式访问菜单项。
答案 0 :(得分:0)
我通过在show()
方法之后移动代码行来修复它,如下所示:
popup.show();
popup.getMenu().findItem(R.id.action_include_payoff).setChecked(true);