Ответ 1
Вы должны изменить
android:background="@layout/activity_main"
к
android:background="@drawable/yourImageName"
Я новичок в android.
Я только что создал новый макет с одной текстовой панелью и двумя кнопками, но это не сработало, я отправляю трассировку стека и мой файл относительного макета любой идеи об этом? Я видел там тот же самый вопрос, который говорит, что он уменьшает размер, пригодный для рисования. Но это не помогло в моем случае, или я не очень много о том, как уменьшить его.
Вот некоторые из моих трассировок стека:
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>
Вы должны изменить
android:background="@layout/activity_main"
к
android:background="@drawable/yourImageName"
Иногда эта ошибка также появляется, когда вы используете большое изображение, которое на самом деле слишком велико, что приводит к ошибке памяти и приводит к сбою вашего приложения. Если вы используете фоновые изображения или какие-либо крупные активы, убедитесь, что они существуют и что они не слишком большие, и тогда вы будете петь под дождем!
эта строка указывает на первую строку макета:
android.view.InflateException: Binary XML file line #1: Error inflating class
а в первой строке есть объявление Relative layout:
Итак, ошибка указана на android:background
, и это неправильный способ установки фона макета:
android:background="@layout/activity_main"
это должно быть цветное или отображаемое изображение
android:background="@color/backgroundColor"
или android:background="#012345"
или
android:background="@drawable/backgroundimg"
Это неверно android:background="@layout/activity_main"
должно быть
android:background="@color/backgroundColor"
или
android:background="@drawable/backgroundimg"
В моем случае было исправлено изменение местоположения моего color.xml
Когда я скопировал его из какого-то другого моего проекта и ввел его в новый проект, Android Studio поместила его в папку v21
, то есть мой эмулятор (v19) не смог добраться до файла ресурсов color.xml
.
Я сделал следующее, чтобы исправить это:
color.xml
.Refactor
> Move
.-v21
.Теперь мой "старый" эмулятор смог прочитать файл.
Надеюсь, это поможет.
У меня была та же проблема - но в активности, которая не имела фонового изображения.
Я узнал, что редактор графического интерфейса (при использовании Eclipse - я не знаю об Android Studio) иногда добавляет свойство без ошибок:
android:background="@layout/activity_main"
Я не уверен, почему редактор делает это - возможно, это ошибка или просто ошибка использования.
Однако если активность не имеет фонового изображения, все свойство просто необходимо удалить!
Если вы используете Службы Google Play и показываете Карты, вы должны добавить метатег в AndroidManifest.xml
**<meta-data
android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version" />**