2010-07-09 66 views
0

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

任何想法可能是错的?


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

你的意思是说该应用程序崩溃或整个模拟器崩溃?发布代码将有助于发现问题。 – 2010-07-09 16:46:35

+0

您的自定义布局可能存在问题。这将有助于查看代码。 – 2010-07-09 16:54:34

+2

它也可能有助于查看LogCat输出。 – CaseyB 2010-07-09 17:45:17

回答

0

的问题是,你指定而不包括必要属性(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)。