从PopUpMenu检查菜单项返回NullPointer

时间:2017-05-18 21:44:46

标签: android nullpointerexception menuitem popupmenu

在我的菜单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有条件地连接之前,我只是尝试以编程方式访问菜单项。

1 个答案:

答案 0 :(得分:0)

我通过在show()方法之后移动代码行来修复它,如下所示:

popup.show();                
popup.getMenu().findItem(R.id.action_include_payoff).setChecked(true);