Android Exception de Pointeur Null sur Textview setText
Android exception de pointeur Null jeté sur settext a couru dans le thread de l'INTERFACE utilisateur forcé
runOnUiThread(new Runnable() {
@Override
public void run() {
String name=portalData.getFullname();
setContentView(R.layout.gradebook);
tname.setText(name);
}
});
la
j'ai fait un membre statique de TextView
sur Créer Im faire ce
super.onStart();
setContentView(R.layout.gradebook);
tname=(TextView)findViewById(R.id.fullname);
ne peut pas comprendre ce qui est à l'origine de ce
stacktrace
10-15 15:19:07.090: E/AndroidRuntime(1604): FATAL EXCEPTION: main
10-15 15:19:07.090: E/AndroidRuntime(1604): java.lang.NullPointerException
10-15 15:19:07.090: E/AndroidRuntime(1604): at com.example.campus.Gradebook$ObservableDemo$6.run(Gradebook.java:518)
10-15 15:19:07.090: E/AndroidRuntime(1604): at android.os.Handler.handleCallback(Handler.java:730)
10-15 15:19:07.090: E/AndroidRuntime(1604): at android.os.Handler.dispatchMessage(Handler.java:92)
10-15 15:19:07.090: E/AndroidRuntime(1604): at android.os.Looper.loop(Looper.java:137)
10-15 15:19:07.090: E/AndroidRuntime(1604): at android.app.ActivityThread.main(ActivityThread.java:5103)
10-15 15:19:07.090: E/AndroidRuntime(1604): at java.lang.reflect.Method.invokeNative(Native Method)
10-15 15:19:07.090: E/AndroidRuntime(1604): at java.lang.reflect.Method.invoke(Method.java:525)
10-15 15:19:07.090: E/AndroidRuntime(1604): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737)
10-15 15:19:07.090: E/AndroidRuntime(1604): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
10-15 15:19:07.090: E/AndroidRuntime(1604): at dalvik.system.NativeStart.main(Native Method)
voici le XML
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".vbook" >
<TextView
android:id="@+id/textView3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_marginLeft="70dp"
android:layout_marginTop="40dp"
android:text="Large Text"
android:textAppearance="?android:attr/textAppearanceLarge"
android:textColor="#007FFF" />
</RelativeLayout>
où avez-vous cette
runOnUiThread
. tname
est null
OriginalL'auteur user2845482 | 2013-10-15
Vous devez vous connecter pour publier un commentaire.
Inverser ces
findViewById
recherche une vue avec l'id mentionné dans le courant gonflé de mise en page.Donc, si votre NPE même après l'inversion des deux rapports ci-dessus, vous devriez vérifier votre
vbook.xml
si vous avez un textview avec l'idfullname
.Également toutes les initialisations de votre point de vue est généralement fait dans
onCreate
qui est le thread de l'interface utilisateur. Je ne suis pas sûr de ce que vous essayez de faire.Vous avez ci-dessous dans
vbook.xml
Ainsi le changement de
TextView tname=(TextView)findViewById(R.id.textView3)
j'ai essayé d'inverser ces mais aucun effet
Pouvez-vous copier R. layout.vbook?
pls envoyer quelques plus pertinents du code et de la trace de la pile
J'ai posté les vbook XML
OriginalL'auteur Raghunandan
La référence null est depuis le TextView est null.
Pour
pour retourner le TextView vous devez initialiser la mise en page en premier.
Modifiez le code, et vous ferez bien:
OriginalL'auteur Lior Ohana
setContentView(mise en page) faut toujours appeler avant de vous carte votre point de vue à l'aide de findViewById(id)
Si la même erreur se produit après l'inverser assurez-vous que l'id que vous essayez de carte est disponible, dans votre fichier de mise en page
assurez-vous que le textview est disponible dans votre fichier de mise en page avec l'id fullname et de poster votre trace de la pile
J'ai posté les détails complets andstacktrace
comme je l'ai dit dans ma réponse à l'id que vous essayez de carte doit exister dans le fichier de mise en page que vous utilisez dans setContentView()
OriginalL'auteur Ravi
@Ravi a dit Set contentview devrait toujours venir avant la liaison de vue.
En plus de cela, il n'y a pas d'id comme R. id.nom et prénom dans votre xml posté. Au lieu de cela, il est textview3
Alors, essayez ce code:
Espère que cela vous aide.
OriginalL'auteur Bhupat Bheda