2011-09-05 5 views
2

Je suis en train de composer un texte dans TextView après la base de données geting ilTextView setText problème

<TextView 
    android:textAppearance="?android:attr/textAppearanceMedium" 
    android:text="2510.33" 
    android:layout_width="wrap_content" 
    android:id="@+id/so_you_spent" 
    android:layout_height="wrap_content" 
    android:gravity="right"> 
</TextView> 

Ceci est l'activité:

public class SummaryOverall extends Activity{ 

    private CfmDbAdapter db; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 

     super.onCreate(savedInstanceState); 
     setContentView(R.layout.summary_overall); 

     db = new CfmDbAdapter(this); 
     db.open(); 

     fillData(); 
    } 

    private void fillData() {  
     TextView tv = (TextView)findViewById(R.id.so_you_spent); 

     Cursor itemCursor = db.fetchAllItemsInOverallSummary(); 
     if (itemCursor.moveToFirst()) { 
      String value = itemCursor.getString(0);   
      tv.setText(value); //nullpointer exception 
     }     
    } 


} 

Il jette NullPointerException à moi. Pourquoi?

+0

Vérifiez si retourne itemCursor ce que vous nous dites (321) ou non; vérifier si la télévision n'est pas nulle. – Marco

+0

Nous aurons besoin de voir tout le code. Mon hypothèse est que vous appelez fillData() avant que setContentView – IncrediApp

+0

itemCursor renvoie "321" mais tv est en effet null. Une idée pourquoi? –

Répondre

2
  1. Vérifiez si retourne itemCursor ce que vous nous dites (321) ou non
  2. Ch eck si tv n'est pas nul

Si 1 est vrai, vérifiez la connexion ou la requête db.
Si 2 est vrai, sans doute vous utilisez un ID qui est pas summary_overall mise en page

ÉDITÉE:
Essayez de supprimer android:text="2510.33" ligne de xml

+0

2 est vrai mais comme vous peut voir ce n'est pas setContentView –

+0

pouvez-vous poster s'il vous plaît ** summary_overall.xml **? – Marco

+0

vous êtes le frère gagnant: P –

1

Essayez ce code ---- :::

Et assurez-vous qu'il avait id textview iDok dans votre fichier xml .... summary_overall

Supprimer android: text = "2510,33" et réglez comme android: text = ""

private void fillData() {  
    TextView tv = (TextView)findViewById(R.id.so_you_spent); 

    Cursor itemCursor = db.fetchAllItemsInOverallSummary(); 
    if (itemCursor.moveToFirst()) { 
     String value = itemCursor.getString(0); //value taken "321" - string 
     if(value!=null&&value!=""&&tv!=null) { 
      tv.setText(value);  
     } else { 
      tv.setText("NO value Found...");  
     } 
    }     
} 
+0

même sortie bro. il meurt à setText –

+1

édité 1er post avec fragment de xml –

+0

J'ai dû enlever android: text = "2510.33" ligne de xml. Vous pouvez le poster comme une réponse puisque je ne peux pas encore me répondre :) –

Questions connexes