it-swarm.com.ru

android.view.inflateexception двоичная XML-строка строки # 1 ошибка надувания класса Android.widget.relativeLayout

Я новичок в Android.
Я только что сделал новый макет с одной текстовой панелью и 2 кнопками, но это не сработало, я публикую трассировку стека и мой файл относительного макета, есть идеи по этому поводу? Там я увидел тот же вопрос, который говорит об уменьшении размера вытяжки. Но это не помогло в моем случае, или я теперь не очень много о том, как уменьшить его .. Вот некоторые из моих следов стека:

  D/AndroidRuntime(1192): Shutting down VM
W/dalvikvm(1192): threadid=1: thread exiting with uncaught exception (group=0xb60cc4f0)
E/AndroidRuntime(1192): FATAL EXCEPTION: main
E/AndroidRuntime(1192): Java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.hellomissworld/com.example.hellomissworld.MainActivity}: Android.view.InflateException: Binary XML file line #1: Error inflating class Android.widget.RelativeLayout
E/AndroidRuntime(1192):at Android.app.ActivityThread.performLaunchActivity(ActivityThread.Java:1647)
12-24 18:58:31.451: E/AndroidRuntime(1192):     at Android.app.ActivityThread.handleLaunchActivity(ActivityThread.Java:1663)
12-24 18:58:31.451: E/AndroidRuntime(1192):     at Android.app.ActivityThread.access$1500(ActivityThread.Java:117)
12-24 18:58:31.451: E/AndroidRuntime(1192):     at Android.app.ActivityThread$H.handleMessage(ActivityThread.Java:931)

и это XML-файл раскладки:

<RelativeLayout xmlns:Android="http://schemas.Android.com/apk/res/Android"
    xmlns:tools="http://schemas.Android.com/tools"
    Android:layout_width="wrap_content"
    Android:layout_height="match_parent"
    Android:background="@layout/activity_main"
    Android:focusable="false"
    Android:paddingBottom="@dimen/activity_vertical_margin"
    Android:paddingLeft="@dimen/activity_horizontal_margin"
    Android:paddingRight="@dimen/activity_horizontal_margin"
    Android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".MainActivity" >

    <EditText
        Android:id="@+id/editText1"
        Android:layout_width="wrap_content"
        Android:layout_height="wrap_content"
        Android:layout_alignParentLeft="true"
        Android:layout_alignParentRight="true"
        Android:layout_marginTop="24dp"
        Android:ems="10"
        Android:inputType="text" >

        <requestFocus />
    </EditText>

    <TextView
        Android:id="@+id/textView1"
        Android:layout_width="wrap_content"
        Android:layout_height="wrap_content"
        Android:layout_alignLeft="@+id/editText1"
        Android:layout_alignParentTop="true"
        Android:text="@string/typehere"
        Android:textAppearance="?android:attr/textAppearanceMedium" />

    <Button
        Android:id="@+id/button2"
        Android:layout_width="wrap_content"
        Android:layout_height="wrap_content"
        Android:layout_alignRight="@+id/editText1"
        Android:layout_below="@+id/editText1"
        Android:text="@string/ok" />

    <Button
        Android:id="@+id/button1"
        Android:layout_width="wrap_content"
        Android:layout_height="wrap_content"
        Android:layout_below="@+id/editText1"
        Android:layout_toLeftOf="@+id/button2"
        Android:text="@string/cancel" />

</RelativeLayout>
16
jazz b

Вы должны изменить

Android:background="@layout/activity_main"

в

Android:background="@drawable/yourImageName"
14
Piyush

Иногда эта ошибка также может появляться при использовании большого изображения, которое на самом деле слишком велико, что приводит к ошибке памяти и приводит к сбою приложения. Если вы используете фоновые изображения или какие-либо большие ресурсы, убедитесь, что они существуют, и что они не слишком велики, и тогда вы будете петь под дождем!

10
ColossalChris

эта строка указывает на первую строку макета:

Android.view.InflateException: Binary XML file line #1: Error inflating class 

и в первой строке находится объявление относительного расположения:

Итак, ошибка на Android:background, и это не правильный способ установить фон макета:

Android:background="@layout/activity_main"

это должно быть цветное или нарисованное изображение

Android:background="@color/backgroundColor" или Android:background="#012345" 

или же

Android:background="@drawable/backgroundimg"
9
Hamad

Это неправильно Android:background="@layout/activity_main" должно быть 

Android:background="@color/backgroundColor" 

или же 

Android:background="@drawable/backgroundimg"
3
RajaReddy PolamReddy

Что исправило в моем случае, так это изменило местоположение моего color.xml 

Когда я скопировал его из другого моего проекта и вставил в новый проект, Android Studio поместил его в папку v21, что означает, что мой эмулятор (v19) не смог получить доступ к файлу ресурса color.xml.

Я сделал следующее, чтобы исправить это:

  1. Щелкните правой кнопкой мыши на color.xml.
  2. Выберите Refactor> Move.
  3. В открывшемся диалоговом окне убрал суффикс -v21.

Теперь мой «старый» эмулятор смог прочитать файл.

Я надеюсь, что это помогает..

2
Barakuda

У меня была та же проблема - но в деятельности, которая не имела фонового изображения.

Я обнаружил, что редактор GUI (при использовании Eclipse - я не знаю о Android Studio) иногда добавляет свойство глючного кода без какой-либо причины:

Android:background="@layout/activity_main"

Я не уверен, почему редактор так делает - возможно, это ошибка или просто ошибка использования.

Однако, если у действия нет фонового изображения, все свойство просто должно быть удалено!

0
Martin Rosenau