mac_05185 2022-06-24 09:27 采纳率: 67.1%
浏览 36
已结题

Android报Binary XML file line #8: Error

img


这大概是什么原因导致的?错误如下:


java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.easyboardview/com.example.easyboardview.MainActivity}: android.view.InflateException: Binary XML file line #8: Error inflating class android.widget.ImageView

这部分是我的代码:

package com.example.easyboardview;

import android.annotation.SuppressLint;
import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.view.animation.Animation;
import android.view.animation.RotateAnimation;
import android.widget.ImageView;

import java.util.Timer;
import java.util.TimerTask;

public class MainActivity extends Activity {
    //指针图片
    private ImageView needleView;
    //时间
    private Timer timer;

    //记录指针旋转
    private float degree = 0.0f;

    @SuppressLint("HandlerLeak")
    private final Handler handler = new Handler() {
        @Override
        public void handleMessage(Message msg) {
            //设置仪表盘指针转动动画
            //仪表盘最大是172度,这个是自己测出来的
            if (degree >= 172.0f) {
                timer.cancel();
            }
            degree += 2.0f;
            RotateAnimation animation = new RotateAnimation(degree, degree, Animation.RELATIVE_TO_SELF, 0.5f,
                    Animation.RELATIVE_TO_SELF, 0.5f);
            animation.setDuration(1000);
            animation.setFillAfter(true);
            needleView.startAnimation(animation);
        }
    };

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        needleView = findViewById(R.id.needle);
        // 开始转动
        timer = new Timer();
        // 设置每一秒转动一下
        timer.schedule(new NeedleTask(), 0, 1000);
    }

    private class NeedleTask extends TimerTask {
        @Override
        public void run() {
            handler.sendEmptyMessage(0);
        }
    }
}

这部分是我的xml文件:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    tools:context=".MainActivity"
    android:layout_width="match_parent"
    android:layout_height="wrap_content">

    <ImageView
        android:layout_width="270dp"
        android:layout_height="270dp"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="20dp"
        android:src="@drawable/panel" />

    <ImageView
        android:id="@+id/needle"
        android:layout_width="270dp"
        android:layout_height="270dp"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="20dp"
        android:src="@drawable/needle" />

</RelativeLayout>
  • 写回答

1条回答 默认 最新

  • mac_05185 2022-06-24 09:34
    关注

    https://www.jianshu.com/p/51bba893ca7b
    问题已经解决,图片资源目录位置不对,需要在drawable和v24版本都复制一份,运行就正常了。

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 6月24日
  • 已采纳回答 6月24日
  • 创建了问题 6月24日

悬赏问题

  • ¥15 对于这个问题的解释说明
  • ¥200 询问:python实现大地主题正反算的程序设计,有偿
  • ¥15 smptlib使用465端口发送邮件失败
  • ¥200 总是报错,能帮助用python实现程序实现高斯正反算吗?有偿
  • ¥15 对于squad数据集的基于bert模型的微调
  • ¥15 为什么我运行这个网络会出现以下报错?CRNN神经网络
  • ¥20 steam下载游戏占用内存
  • ¥15 CST保存项目时失败
  • ¥20 java在应用程序里获取不到扬声器设备
  • ¥15 echarts动画效果的问题,请帮我添加一个动画。不要机器人回答。