2010-07-09 39 views
0

J'ai créé une mise en page personnalisée dans laquelle j'ai deux LinearLayout dans une vue ScrollView. Le problème est quand je place ma mise en page dans setContentView() à ma disposition personnalisée (quand l'application commence), l'émulateur donne une erreur et la force se ferme! Je ne sais pas pourquoi. J'ai essayé avec une autre mise en page personnalisée ou mis à la main et il semble bien fonctionner.Android Emulator Force se ferme lors du chargement de la mise en page personnalisée

Des idées sur ce qui pourrait être faux?


Oui, je voulais dire que l'application plante. Voici le code XML pour la mise en page personnalisée: (trop!) Filateurs

<?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

Vous voulez dire que l'application plante ou que l'émulateur est en panne? Le code d'affichage aidera à trouver le problème. –

+0

Il y a probablement un problème avec votre mise en page personnalisée. Cela aiderait à voir le code. –

+2

Il peut également aider à voir la sortie LogCat. – CaseyB

Répondre

0

Le problème est que vous spécifiez une vue sans inclure un attribut obligatoire (layout_width).

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

Il est à vous de définir le comportement attendu pour la largeur, mais voici un exemple qui va résoudre votre problème:

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

La documentation développeur Android indique que ces champs sont requis (source: http://developer.android.com/guide/topics/resources/layout-resource.html).