You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 01:35:22