java - 尝试在空对象引用上调用虚拟方法 'void android.view.View.setAnimation(android.view.animation.Animation)'

标签 java android android-animation android-menu

我有通知菜单图标。我需要在 onCreateOptionsMenu() 时将其动画化已调用。

在实现过程中,我一直面临如下问题 -

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>

通知.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" />

请告诉我解决该问题的方法。 提前致谢。

最佳答案

根据this回答你需要先设置操作 View 。并尝试使用 ImageView 作为自定义操作 View 来为菜单项设置动画以获取更多引用,请参阅 this

关于java - 尝试在空对象引用上调用虚拟方法 'void android.view.View.setAnimation(android.view.animation.Animation)',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58762253/

相关文章:

java - 从html插入数据到数据库,查询错误

java - 使用神经网络发现关系

android - 为什么 asterisk 不能正常使用 android sip 客户端?

Android Canvas 动画和基础物理

android - 如何在 Android 中对 LayoutParams x 和 y 进行动画处理

Android动画应该从左进入,等待一段时间再从右离开,重复

java - 移动 SSL 证书 - 现在获取 java.security.cer.CertPathValidatorException

java - 带有tomcat的spring boot web应用程序在启动时挂起

java - 为什么输入类型“numberDecimal | numberSigned”在Android Studio中不起作用

android - 从嵌套的 PreferenceScreen 返回时更改摘要