Android Emulator Force закрывается при загрузке Custom Layout - PullRequest
0 голосов
/ 09 июля 2010

Я создал пользовательский макет, где у меня есть пара LinearLayout в ScrollView. Проблема в том, что когда я устанавливаю свой макет в setContentView() на свой собственный макет (при запуске приложения), эмулятор выдает ошибку и принудительно закрывается! Я не знаю почему. Я попытался с другим пользовательским макетом или установить его на основной, и, кажется, работает нормально.

Есть идеи, что может быть не так?


Да, я хотел сказать, что приложение не работает. Вот код xml для пользовательского макета: (слишком много блесен!)

<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:scrollbars="vertical">

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical"
        android:padding="10dp">

        <TextView
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:text="@string/Name"
            android:id="@+id/name"
            android:textSize="18sp"
            android:gravity="center">
        </TextView>

        <LinearLayout
            android:orientation="vertical"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:padding="10dp" >

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:id="@+id/Picker"
                android:text="@string/drinkText"
                android:textColor="#303030">
            </TextView>

            <View
                android:layout_height="5dp"/>

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:id="@+id/TimePicker"
                android:text="@string/TimeText"
                android:textColor="#303030">
            </TextView>

            <View 
                android:layout_height="20dp"/>

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:id="@id/EndPicker"
                android:text="@string/EndText"
                android:textColor="#303030">
            </TextView>

            <View
                android:layout_height="5dp"/>

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:id="@id/sortPicker"
                android:text="@string/sortText"
                android:textColor="#303030">
            </TextView>

        </LinearLayout>

        <LinearLayout 
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:padding="10dp"
            android:orientation="horizontal">

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Categories:"
                android:id="@+id/CategorySelect"/>

            <Spinner
                android:id="@+id/categorySpinner"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:drawSelectorOnTop="true"
                android:prompt="@string/categoriesPrompt"
                android:visibility="visible"/>

        </LinearLayout>

        <LinearLayout 
            android:orientation="horizontal"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:padding="10dp">

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Priority:"
                android:id="@+id/prioritySelect"/>

            <Spinner
                android:id="@+id/prioritySpinner"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:drawSelectorOnTop="true"
                android:prompt="@string/priorityPrompt"
                android:visibility="visible" android:layout_weight="0.0"/>

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="State:"
                android:id="@+id/stateSelect"/>

            <Spinner
                android:id="@+id/statusSpinner"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:drawSelectorOnTop="true"
                android:prompt="@string/statusPrompt"
                android:visibility="visible"/>

        </LinearLayout>

        <LinearLayout
            android:orientation="horizontal"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:padding="10dp">

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Reminder:"
                android:id="@+id/Reminder"/>

            <Spinner
                android:id="@+id/remindSpinner"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:drawSelectorOnTop="true"
                android:prompt="@string/remindPrompt"
                android:visibility="visible"/>

        </LinearLayout>

        <LinearLayout 
            android:orientation="vertical"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:padding="10dp"
            android:background="#FF303030">

            <TextView
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                android:text="suggestions:"
                android:typeface="sans">
            </TextView>

        </LinearLayout>

    </LinearLayout>

</ScrollView>

1 Ответ

0 голосов
/ 24 мая 2014

Проблема в том, что вы задаете представление без включения обязательного атрибута (layout_width).

<View android:layout_height="5dp"/>

Вам нужно определить ожидаемое поведение для ширины, но вот один пример того, чтоисправит вашу проблему:

<View android:layout_height="5dp" layout_width="fill_parent" />

В документации разработчика Android указано, что эти поля обязательны (источник: http://developer.android.com/guide/topics/resources/layout-resource.html).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...