TextView und setText Klasse aus
Ich weiß, es gibt da ein paar Fragen zu diesem Thema gibt, aber ich noch nicht bekommen.
Ich habe eine Aktivität
package test.example.om;
import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;
import test.example.om.Texter;
public class TextActivity extends Activity {
/** Called when the activity is first created. */
public String text="Helloo";
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Texter myTexter = new Texter();
myTexter.textTexter();
}
public void textSet(){
TextView tv = (TextView) findViewById(R.id.myTextViewInXml);
tv.setText(text);
}
}
Und ein Klasse Texter
package test.example.om;
import android.widget.TextView;
import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;
public class Texter extends Activity{
String string="Helloo";
public void textTexter(){
TextView tv = (TextView) findViewById(R.id.myTextViewInXml);
tv.setText(string);
}
}
Den LogCat zeigt eine NullPointerException und die app stürzt ab. Was mache ich falsch und wie kann ich setText zu den TextView aus einer anderen Klasse als der main-activity-Klasse?
Warum nicht wieder eine string-Funktion und setText in Ihrer Haupttätigkeit? Sieht aus wie seltsame code zu mir.
InformationsquelleAutor asco | 2011-08-29
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sind Sie die Instanziierung einer Tätigkeit Unterklasse und Sie sind eigentlich nicht zu tun...
Auch versuchen Sie zu findViewById (in der Texter-Klasse), während Ihr Kontext ist null, da Sie noch nicht durchgemacht, die richtige Aktivität-Lebenszyklus.
Damit ändern Sie den text von der text-Ansicht bewegen Sie einfach die textTexter Methode von Texter zu TextActivity und nennen Sie es.
Entfernen Sie die Texter-Aktivität, wie es ist unbenutzt.
EDIT: Gerade bemerkt, du willst es von einer anderen Klasse. Das zu tun, geben Sie einfach einen Verweis auf die text-Ansicht, die Sie ändern möchten, und setText auf es
InformationsquelleAutor IncrediApp