Android: ошибка макета земли

Я пытаюсь добавить отдельные портретно-ландшафтные макеты в свой старый проект (в основном я показываю 2 Fragments: один с google-картой, а другой содержит некоторые рисунки OpenGL). Я создал папку ресурсов макета с именем layout-land, которая включает мой альбомный макет, и получаю сообщение об ошибке в Android Studio:

Error:Execution failed for task ':MapDemoActivity:mergeDebugResources'.
> java.lang.NullPointerException (no error message)

в моей консоли Gradle:

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':MapDemoActivity:mergeDebugResources'.
> java.lang.NullPointerException (no error message)

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option
to get more log output.

Я новичок и не знаю, как Run with --stacktrace option to get the stack trace или что-то подобное.

вот мой портретный макет (activity_main.XML), который отлично работает, когда у меня нет папки layout-land:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity"
android:animateLayoutChanges="true"
>

<fragment
    android:id="@+id/map"
    class="com.google.android.gms.maps.SupportMapFragment"
    android:layout_width="wrap_content"
    android:layout_height="350dp"
    android:layout_alignParentBottom="true"/>
<fragment
    android:id="@+id/openGL"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    class="com.example.mapdemo.OpenGLES20ActivityFrag"
    android:layout_above="@id/map"/>

</RelativeLayout>

макет с тем же именем в моей папке layout-land (когда я добавляю эту папку, я получаю вышеупомянутую ошибку, я пробовал использовать простой макет в стиле HelloWorld, и он все еще не работал, поэтому я не думаю, что в нем есть что-то). делать с тем, что в нем содержится):

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:animateLayoutChanges="true"
android:baselineAligned="false"
android:orientation="horizontal"
tools:context=".MainActivity">

<fragment
    android:id="@+id/map"
    android:layout_width="400dp"
    android:layout_height="match_parent"

    class="com.google.android.gms.maps.SupportMapFragment" />

<fragment
    android:id="@+id/openGL"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    class="com.example.mapdemo.OpenGLES20ActivityFrag" />

</LinearLayout>

Если потребуется дополнительный код, я опубликую его, однако я не думаю, что это необходимо. У меня есть последние версии SDK и IDE.

Я думаю, если бы я мог просто узнать, где в моем коде находится ошибка NullPointerException, я мог бы ее решить, но я не знаю, как ее найти.


person ChrisX    schedule 24.07.2014    source источник
comment
возможно, это потому, что вы назвали свои родительские макеты разными... +id/RelativeLayout1 & @+id/LinearLayout1. Вы ссылаетесь на эти макеты где-нибудь?   -  person Opiatefuchs    schedule 24.07.2014
comment
хорошо, я удалил идентификаторы, и все равно происходит то же самое. я их нигде не использовал   -  person ChrisX    schedule 24.07.2014


Ответы (1)


Обратите внимание, если этот ответ все еще требуется. Но я столкнулся именно с этой проблемой и искал больше в StackOverflow. Я нашел ответ в этом сообщении Android Studio - исключение mergeDebugResources

«Это происходит со мной только при изменении XML-файлов в проекте. Если вы перестраиваете весь проект перед запуском (Build > Rebuild Project), он больше не отображается».

Я перестроил свой проект, и эта проблема исчезла, и я могу запустить свое приложение, и используются мои разные портретные и альбомные макеты.

person se22as    schedule 28.10.2014