网上有很多android.view.InflateException: Binary XML file line #错误的解决办法,但是都没有包含我遇到的这种场景。
我是在用Listview的Adapter时出现的:
mAdapter = new BaseAdapter() {
@Override
public View getView(int position, View convertView, ViewGroup parent) {
LayoutInflater inflater = FaceActivity.this.getLayoutInflater();
View view;
if (convertView == null) {
view = inflater.inflate(R.layout.list_layout, null); // 报错代码
} else {
view = convertView;
}
}
};
而我的list_layout这个布局xml是这样的:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
android:id="@+id/tv_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:padding="5dp"
android:text="name" />
<ImageView
android:id="@+id/iv_image"
android:layout_width="70dp"
android:layout_height="70dp"
android:background="@drawable/ic_launcher_foreground"
android:padding="5dp"
android:scaleType="fitXY" />
</LinearLayout>
我这边报错信息是android.view.InflateException: Binary XML file line #14 , 也就是<ImageView开始,然后我把
android:background="@drawable/ic_launcher_foreground"
这行删掉或者替换成一个普通的图就没问题了(ic_launcher_foreground是Android studio自动生成的一个图标)。。。
应该是在某些低端机型上ic_launcher_foreground是有资源兼容问题的,总之很无语