Android应用使用旋转动画时崩溃,findViewById返回空指针求助
解决ImageView旋转动画的空指针崩溃问题
核心问题
你代码里的空指针是因为控件变量未初始化就调用方法:kedvencEvszak和tw都是仅声明但未赋值的null变量,直接调用kedvencEvszak.findViewById(...)相当于在null对象上执行方法,必然触发空指针异常。
修正后的Java代码
正确写法是将findViewById的返回值赋值给控件变量:
package com.example.gyakorlozh; import android.os.Bundle; import android.view.animation.Animation; import android.view.animation.AnimationUtils; import android.widget.ImageView; import android.widget.TextView; public class EvszakActivity extends AppCompatActivity { // 需继承对应Activity类 ImageView kedvencEvszak; TextView tw; Animation anim; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_evszak); // 正确为控件变量赋值 kedvencEvszak = findViewById(R.id.kedvencEvszak); tw = findViewById(R.id.textView); anim = AnimationUtils.loadAnimation(EvszakActivity.this, R.anim.kepanimacio); // 可选:添加非空判断避免意外崩溃 if (kedvencEvszak != null) { kedvencEvszak.startAnimation(anim); } } }
动画XML代码验证
你的旋转动画XML配置是正常的,无需修改:
<rotate android:pivotY="50%" android:pivotX="50%" android:fromDegrees="0" android:toDegrees="360" android:duration="2000" android:startOffset="3000"/>
额外提示:
- 确认
activity_evszak.xml布局文件中确实存在id为kedvencEvszak的ImageView和id为textView的TextView,否则findViewById仍会返回null。 - 根据项目依赖导入正确的Activity包(AndroidX用
AppCompatActivity,旧版SDK用Activity)。
内容的提问来源于stack exchange,提问作者Bence Katona
相关产品推荐
相关产品推荐

