setText an Acitity funktioniert nicht

M

Mintmaroo

Neues Mitglied
0
Hallo,

meine App stürzt immer dann ab, wenn ich einen Button aufrufe, der den folgenden Code ausführen soll. Der TextView tv3 wurde "oben" global in Code angelegt (deklariert).

PHP:
    public void weiterzuvier(View v) {
    	
    	TextView tv3 = (TextView) findViewById(R.id.tVSeite23);
       
        // Reading all contacts
       // Log.d("Reading: ", "Reading all contacts.."); 
    	setContentView(R.layout.vierteseite);
        List<Vermittler> contacts = db.getAllContacts();       
         
       for (Vermittler cn : contacts) {
        	      String log = "Id: "+cn.getID()+" ,Name: " + cn.getName() + " ,Phone: " + cn.getPhoneNumber();
                // Writing Contacts to log
            
          tv3.append(log);
     }
        
      
    	
    }
 
Du kannst doch nicht ein TextView suchen, wo der Inhalt noch garnicht gesetzt wurde.

Also setContentView VOR findViewById...




Unabhängig davon: das nächste Mal noch ein Logcat-Auszug anfügen, hier wirds zwar nur ne simple NullPointerException sein, aber dennoch gibt es ggf. mehr Aussagekraft ;)
 
Mintmaroo schrieb:
Der TextView tv3 wurde "oben" global in Code angelegt (deklariert).

Ich hoffe nicht... oO
Wenn du sie oben wirklich deklarierst, dann brauchst du in deiner Methode nur tv3 = findViewById(R.id.XYZ) schreiben, um sie zuzuweisen. Aber warum das ganze global (public), erschließt sich mir nicht. Schließlich willst du doch deine Activities untereinadner trennen bzw. "sauber halten".

private TextView tv3; <- Deklaration
private TextView tv3 = (TextView) findViewById(...); <- Initialisierung

Wenn du die TextView in deiner Klasse noch in einer anderen Methode ansprechen willst, deklarierst du tv3 für die Klasse als private und weist sie in onCreate zu.
 
Global != Public
 
Hallo,

@reneph ich suche noch den Danke Button hier. Dein Beitrag hat mein Problem von 2 Tagen kopfzerbrechen gelöst (Hobbyentwickler).
 
Den bekommst du glaub ich erst ab 10 Posts ;)
 
Mintmaroo schrieb:
Hallo,

@reneph ich suche noch den Danke Button hier. Dein Beitrag hat mein Problem von 2 Tagen kopfzerbrechen gelöst (Hobbyentwickler).


Nachtrag & Ergänzung:

Damit du beim nächsten mal nicht wieder 2 Tage suchst. Hier noch eine Ergänzung.

Du hattest ein NullPointerException. Sprich dein TextView Objekt konnte nicht instanziiert werden. Du solltest immer mit Logcat deine Fehler mit debuggen. NullPointerException sind hier auf den Forum wohl der häufigste Fehler.


NullpointerException - Was tun?
 

Ähnliche Themen

SaniMatthias
Antworten
19
Aufrufe
961
swa00
swa00
O
Antworten
15
Aufrufe
2.973
ORHUX
O
FabianDev
Antworten
5
Aufrufe
560
swa00
swa00
Zurück
Oben Unten