我设置了一个加载器,尝试在该加载器中设置onLoadFinished()方法中操作栏中的项目图标,但是在尝试加载时会出现空指针异常。

但是,如果我不尝试在onLoadFinished()方法中进行操作,则可以更改图标。

ActionMenuItemView actionBarMenuItem = (ActionMenuItemView) findViewById(R.id.action_item);
actionBarMenuItem.setIcon(getResources().getDrawable(R.drawable.ic_my_icon));

java.lang.NullPointerException: Attempt to invoke virtual method 'void android.support.v7.internal.view.menu.ActionMenuItemView.setIcon(android.graphics.drawable.Drawable)' on a null object reference


有没有人遇到过这个问题,或者能够知道为什么会发生?

最佳答案

您不能在onCreate的菜单项上使用findViewById(),因为菜单布局不会膨胀。您可以创建一个全局Menu变量,然后在onCreateOptionsMenu()中对其进行初始化,然后在onLoadFinished()中使用它。

private Menu menu;


在您的onCreateOptionsMenu()中

this.menu = menu;


在您的onLoadFinished()方法中

menu.getItem(0).setIcon(getResources().getDrawable(R.drawable.ic_launcher));

关于android - 尝试在加载程序中设置菜单项图标时出现空指针异常,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27367214/

10-13 03:04