2011-05-20 4 views
0

Je suis nouveau sur android deva et java. Je veux afficher du texte mais mon code ci-dessous ne fonctionne pas.Android: TextView Ne fonctionne pas

DisplayText.java

package com.example.DisplayText; 
import android.app.Activity; 
import android.os.Bundle; 
import android.widget.TextView; 

    public class DisplayText extends Activity { 
     /** Called when the activity is first created. */ 
     @Override 
     public void onCreate(Bundle savedInstanceState) { 
      super.onCreate(savedInstanceState); 

      TextView tv2 = (TextView) this.findViewById(R.id.thetext); 
      tv2.setText("YO -- "); 
      setContentView(R.layout.main); 

     } 
    } 

main.xml

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    > 
    <TextView 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:text="@string/hello" 
    /> 
    <TextView 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:text="@string/hello" 
    android:id="@+id/thetext" 
    /> 
</LinearLayout> 

Un grand merci pour toute aide! :)

+2

Vous devez spécifier le fichier de disposition que vous souhaitez utiliser avant de pouvoir obtenir des vues. Dans votre code ci-dessus, vous essayez d'aller chercher un TextView avant l'appel setContentView. Cela ne fonctionnera pas car il n'y a aucune indication pour le système d'où rechercher TextView avec ID theText. Si vous modifiez l'ordre et définissez d'abord la vue du contenu, cela fonctionnera. – TofferJ

Répondre

2

Modifier ce code:

public void onCreate(Bundle savedInstanceState) { 
      super.onCreate(savedInstanceState); 

      TextView tv2 = (TextView) this.findViewById(R.id.thetext); 
      tv2.setText("YO -- "); 
      setContentView(R.layout.main); 

     } 

avec celui-ci:

public void onCreate(Bundle savedInstanceState) { 
      super.onCreate(savedInstanceState); 
      setContentView(R.layout.main); 
      TextView tv2 = (TextView) this.findViewById(R.id.thetext); 
      tv2.setText("YO -- "); 


     } 
1

mis

setContentView(R.layout.main); 

avant TextView tv2 = (TextView) this.findViewById(R.id.thetext);

pour accéder au TextView de main.xml

Questions connexes