2009-12-15 4 views
2

Je suis en train de créer une TabActivity pour mon application android. Lorsque ma mise en page XML apparaît comme suit avec du contenu TextView factice pour mes deux onglets, tout semble correct. Je souhaite remplacer chaque TextView par un LinearLayout qui contient plusieurs éléments View. Toutefois, si j'essaie de remplacer les lignes TextView avec quelque chose comme le suivant, alors je reçois immédiatement une fenêtre Force Close.Erreur Android avec TabActivity/TabWidget

<LinearLayout android:id="@+id/login_form" android:layout_width="fill_parent" layout_height="fill_parent" android:orientation="vertical"> 
    <TextView android:id="@+id/username_label" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/username" /> 
</LinearLayout> 
<LinearLayout android:id="@+id/register_form" android:layout_width="fill_parent" layout_height="fill_parent" android:orientation="vertical"> 
    <TextView android:id="@+id/username_desired_label" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/username_desired" /> 
</LinearLayout> 

Pourquoi est-ce que cela me causerait une fermeture de force? Dois-je utiliser une autre vue que LinearLayout pour regrouper mes contenus d'onglets?

Edit: Dans le cas où il est pertinent de ma question, je tends la méthode classe TabActivity, et mon onCreate se présente comme suit:

protected void onCreate(Bundle savedInstanceState) { 
    // display the login/register view 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.login_register); 

    // associate the tab content with each tab, and specify the tab headers 
    setDefaultTab(0); 
    TabHost tabs = getTabHost(); 
    tabs.addTab(tabs.newTabSpec("login").setIndicator(getResources().getText(R.string.login)).setContent(R.id.login_form)); 
    tabs.addTab(tabs.newTabSpec("register").setIndicator(getResources().getText(R.string.register)).setContent(R.id.register_form)); 
} 

Edit: Comme demandé, voici la pile -trace, avec un message d'erreur de lecture seule "source introuvable.":

discussion [3 <> principal] (suspendu (exception RuntimeException)) ActivityThread.performLaunchActivity (ActivityThread $ ActivityRecord, intention) Ligne: 2401 ActivityThread.handleLaunchActivity (ActivityThread $ ActivityRecord, intention) Ligne: 2417 ActivityThread.access 2100 $ (ActivityThread, ActivityThread $ ActivityRecord, intention) ligne : 116 ActivityThread $ H.handleMessage (message) ligne: 1794 ActivityThread $ H (Handler) .dispatchMessage (message) ligne: 99 Looper.loop ligne(): 123 ActivityThread.main ligne (String []): 4203 Method.invokeNative (Object, Object [], Classe, Classe [], Classe, int, booléen) ligne: non disponible [méthode native] Method.invoke (Object, Object ...) en ligne: 521 ZygoteInit $ MethodAndArgsCaller.run() ligne: 791 ZygoteInit.main (String []) ligne: 549 NativeStart.main (String []) ligne: non disponible [méthode native]

+2

Qu'est-ce que la pile-trace? Peux tu poster cela ici? – Bostone

Répondre

0

Wow, je suis un idiot. Dans mes déclarations LinearLayout, ils incluaient tous les deux layout_height attributs au lieu des attributs android:layout_height requis. Stupide surveillance de ma part, je ne ferai plus cette erreur.

Merci d'avoir pris le temps de regarder, DroidIn.net.