Java 尝试调用虚拟方法';void android.view.view.setAnimation(android.view.animation.animation)和#x27;关于空对象引用
我有通知菜单图标。我需要在调用Java 尝试调用虚拟方法';void android.view.view.setAnimation(android.view.animation.animation)和#x27;关于空对象引用,java,android,android-animation,android-menu,Java,Android,Android Animation,Android Menu,我有通知菜单图标。我需要在调用onCreateOptions菜单()时设置动画 在实施过程中,我一直面临如下问题: Attempt to invoke virtual method 'void android.view.View.setAnimation(android.view.animation.Animation)' on a null object reference. Java代码: private Animation animation; @Override public bo
onCreateOptions菜单()
时设置动画
在实施过程中,我一直面临如下问题:
Attempt to invoke virtual method 'void
android.view.View.setAnimation(android.view.animation.Animation)' on a
null object reference.
Java代码:
private Animation animation;
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.home_screen,menu);
animation =
AnimationUtils.loadAnimation(getApplicationContext(),R.anim.notify);
menu.findItem(R.id.notifications).getActionView().setAnimation(animation);
return super.onCreateOptionsMenu(menu);
}
home_screen.xml:
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item
android:id="@+id/notifications"
android:title="@string/action_settings"
app:showAsAction="ifRoom"
android:icon="@drawable/notifications"/>
</menu>
notify.xml:
<?xml version="1.0" encoding="utf-8"?>
<rotate xmlns:android="http://schemas.android.com/apk/res/android"
android:fromDegrees="0"
android:toDegrees="180"
android:pivotX="50%"
android:pivotY="50%"
android:duration="500"
android:interpolator="@android:anim/accelerate_interpolator" />
请告诉我解决问题的方法。
提前感谢。根据答案,您需要先设置动作视图。并尝试将用户图像视图作为自定义动作视图来设置菜单项的动画,以获取更多参考