android .view.InflateException: двоичный файл XML строка файла # 8: Ошибка надувания класса ImageView - PullRequest
0 голосов
/ 19 апреля 2020

Я пытаюсь надуть макет моего кода, но он всегда вылетает в методе getView в одной строке:

converView = layoutInflater.inflate(R.layout.minesweeper_layout, null);

Ошибка:

android .view.InflateException: двоичная XML строка файла # 8: ошибка надувания класса ImageView

XML file

<?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="match_parent">

    <ImageView
        android:id="@+id/imageView"
        android:layout_width="150dp"
        android:layout_height="150dp"
        android:layout_centerHorizontal="true"
        android:layout_below="@+id/image"
        android:src="@drawable/button"
        android:layout_marginTop="27dp"
        />
</LinearLayout>

Ответы [ 2 ]

1 голос
/ 19 апреля 2020

В файле макета XML есть несколько проблем.

Прежде всего, ваш ImageView обернут в LinearLayout, и эти два являются атрибутами RelativeLayout:

android:layout_below="@+id/image"
android:layout_centerHorizontal="true"

Вторая проблема заключается в том, что представление, идентифицированное как "@ + id / image", не имеет существует в вашем файле макета. Вы можете размещать представления в файле макета только на основе других видов, содержащихся в том же файле макета.

Различия между линейным и относительным макетами можно найти на их Android страницах документов:

LinearLayout

https://developer.android.com/guide/topics/ui/layout/linear

RelativeLayout

https://developer.android.com/guide/topics/ui/layout/relative

0 голосов
/ 19 апреля 2020

Попробуйте использовать этот код:

LayoutInflater inflater = getLayoutInflater();
View converView = inflater.inflate(R.layout.minesweeper_layout, null);

Если не работает, попробуйте другие способы:

  • Удалите sr c из образа и запустите приложение , Если это работает, проблема в вашем изображении.

  • удалить android: layout_below = "@ + id / image".

Надеюсь, это поможет.

...