【问题标题】:Android Emulator Force closes when loading Custom LayoutAndroid Emulator Force 在加载自定义布局时关闭
【发布时间】:2010-07-09 16:45:03
【问题描述】:

我创建了一个自定义布局,其中在 ScrollView 中有几个 LinearLayout。问题是当我将setContentView() 中的布局设置为我的自定义布局(应用程序启动时)时,模拟器会出错并强制关闭!我不知道为什么。我已尝试使用另一种自定义布局或将其设置为 main,它似乎工作正常。

有什么想法可能是错的吗?


是的,我的意思是说应用程序崩溃了。这是自定义布局的 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>

【问题讨论】:

  • 你的意思是应用崩溃了还是整个模拟器都崩溃了?发布代码将有助于发现问题。
  • 您的自定义布局可能有问题。看看代码会有帮助。
  • 查看 LogCat 输出也可能会有所帮助。

标签: android android-layout


【解决方案1】:

问题是您指定的视图没有包含必需的属性 (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)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-10-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-25
    • 2016-09-06
    相关资源
    最近更新 更多