android-TextView setText funktioniert nicht
Ich weiß, es gibt viele ähnliche threads, aber ich habe Sie und kann immer noch nicht herausfinden, das problem. Mein Programm erreicht die Handler aber es gibt immer die Ausnahme catch " - Nachricht nicht verarbeitet."
Als ich erklärte, dass die TextView private TextView chatbox;
Unter onCreate ich habe:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
setUpViews();
setUpListener();
}
wo setUpViews () - snippet sieht wie folgt aus:
private void setUpViews() {
chatbox = (TextView) findViewById(R.id.chatbox);
}
Handler:
public Handler mHandler = new Handler(Looper.getMainLooper()){
@Override
public void handleMessage(Message msg){
try{
chatbox.setText("Got it!");
}catch(Exception e){
Log.i("MYLOG", "Message was not handled.");
}
}
};
Snippet in main.xml Datei:
<TextView
android:id="@+id/chatbox"
android:layout_width="200dp"
android:layout_height="200dp"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:textAppearance="?android:attr/textAppearanceLarge" />
Welche exception bekommst du?
InformationsquelleAutor user2562568 | 2013-08-21
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn einige Arme Seele Google nach diesem Problem in der Zukunft habe ich endlich herausgefunden, das Problem. Ich hatte mehrere Fragmente, eines für jede Registerkarte in mein ViewPager, wo ein TextView hatte das gleiche gleichen id in zwei Fragmente und kam deshalb in Konflikt. Ich wusste nicht, ich hatte die gleiche id, also alles schien in Ordnung, keine Fehlermeldung, aber der text einfach nicht ändern. Nur die id ändern.
Ich habe festgestellt mit dem gleichen Problem. Und Wundern Sie sich, warum sollte es eindeutig sein, wenn Sie verschiedene Seiten mit demselben layout. In meinem Fall die Einstellung andere id hat nicht funktioniert, aber textView.requestLayout() hat die Sache, auch bei mir funktioniert: textView.setVisibility(View.UNSICHTBAR); textView.setVisibility(View.SICHTBAR);
Ja, das ist nicht gut. Ich habe auch vor dem gleichen Problem.
InformationsquelleAutor Hudson
Du es noch nicht gegeben, uns viel weiter zu gehen.
Sollten Sie sich die Ausnahme-stack-trace, statt drucken eine Meldung in der Konsole:
e.printStackTrace();
Aber von hier aus, wenn ich raten müsste, wie es aussieht, sind entweder die Einstellung der TextView text aus dem Haupt-thread, oder - und das erscheint unwahrscheinlich, basierend auf dem was du gepostet hast - deine TextView nicht gesetzt wurde und Sie haben eine null-Zeiger-Ausnahme.
InformationsquelleAutor SK9
Ich hoffe, dass Sie handler läuft im UI-Thread. Auch versuchen, dies zu tun: Weisen Sie die Zeichenfolge einer Variablen zu, und verwenden Sie die variable als es erfordert, charsequence.
InformationsquelleAutor Sushil
einfach so-das ist ok!
InformationsquelleAutor
In meinem Fall
Ich fand es ein
TextWatcher
undFilter
im Zusammenhang mit meinerTextview
Die beide enthalten eine Logik, die verhindern, dass die Aktualisierung meiner
Textview
WertAlso zusätzlich zu anderen Lösungen
Sie können überprüfen, ob Ihre
Textview
mitTextWatcher
oderFilter
dann verfolgen.InformationsquelleAutor ahmednabil88
haben Sie eine Nachricht senden?
zum Beispiel:
InformationsquelleAutor Su Zhenpeng