我设置了一个加载器,尝试在该加载器中设置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/