我正在尝试在我的应用中选中列表项时显示选项菜单。当通过侦听器和扩展Activity的帮助程序类单击复选框时,我通过广播intent来执行此操作。我的助手类代码是:
public class menuHelper extends Activity{
private void showMenu(int checked){
try{
Intent intent = new Intent(SHOW_MENU);
intent.putExtra("check", checked);
sendBroadcast(intent);
}
catch(Exception e){
e.printStackTrace();
}
}
}
问题是调用sendBroadcast方法时。抛出异常,堆栈跟踪表明它是NullPointerException
sendBroadcast(intent)
。据我所知,意图不是空的,但我在这里遗漏了一些东西,因为引发了异常。
答案 0 :(得分:2)
似乎从适配器中调用sendBroadcast()方法(无论使用扩展Activity的子类来执行此操作)都是非法的。
为了实现我想要的功能,我发现如果你将调用活动注入到适配器类中并从活动中调用一个方法来显示(或隐藏)选项菜单,则不会发生此空指针错误,并且菜单是否显示精美。