Problem setText o0

J

java4life

Neues Mitglied
2
Hi,
ich habe ein Problem mit dem setText einer TextView. Wahrscheinlich sehe ich den Wald vor lauter Bäumen nicht...

Activity
Code:
public void onCreate(Bundle icicle) {
        super.onCreate(icicle);

        //hier stürzt er ab
        selection=(TextView)findViewById(R.id.TextView02neu);
        selection.setText("yxvyx");
        //auskommentiert klappt alles

        setContentView(R.layout.main2);
        city = getResources().getStringArray(R.array.city_array);
        
        setListAdapter(new ArrayAdapter(this, R.layout.abso,   R.id.label,city));
        
    }
hier die xml ressource:
Code:
<TextView 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
android:layout_x="21dip" 
android:layout_y="36dip" 
android:id="@+id/TextView02neu">
</TextView>

ich will lediglich den text in der textview ändern. (wollte da später ein datum einfügen).
allerdings kann ich nicht mal einen text mit setText setzen,da sonst der fehler kommt "der prozess wurde unerwartet beendet".
wenn ich den text in der xml definiere,nimmt er den an, aber mit setText im source ist nichts zu machen =(
 
Zuletzt bearbeitet:
setcontentview vergessen

edit: setcontentview muss weiter oben kommen - woher soll er sonst die komponten nehmen
 
Code:
super.onCreate(icicle);
        setContentView(R.layout.main2);

        selection=(TextView)findViewById(R.id.TextView02neu);
        selection.setText("yxvyx");
...
klappt auch nicht =(
 
war aber zumindets mal ganz sicher ein schlimmer fehler das setcontentview so weit unten zu machen.


was sagt der logcat jetzt? da steht sicher drin was der fehler ist.
 
  • Danke
Reaktionen: java4life
Hast du denn bei

selection=(TextView)findViewById(R.id.TextView02neu);
selection.setText("yxvyx");

das "selection" schon vorher irgendwo definiert?
 
wenn nicht würds ja gar nicht ausführbar sein
 
swordi schrieb:
war aber zumindets mal ganz sicher ein schlimmer fehler das setcontentview so weit unten zu machen.
was sagt der logcat jetzt? da steht sicher drin was der fehler ist.

ein so schlimmer fehler war es gar nicht *glaube ich*. weil es ja trotzdem ging. habe ja nichts weiter gemacht,als variablen zu definieren,die danach geladen werden.

ich finde es nur komisch,dass es bei meiner anderen anwendung problemlos (mit der selben vorgehensweise geklappt hat und hier nicht).die console und compiler geben keine fehlermeldung. lediglich beim starten der app wird gesagt, dass die app nicht gestartet werden kann und sie beendet werden muss...

ich bin echt verwirrt -.- und sauer xD
aber danke für die hilfe...wenn ihr noch ideen habt,immer her damit

PS: ja,ich habe selection mit "TextView selection;" vorher bekannt gemacht...

und wie gesagt, wenn ich:
Code:
selection=(TextView)findViewById(R.id.TextView02neu);
        selection.setText("yxvyx");

auskommentiere klappts!
 
lol

sicher ist es ein schlimmer fehler, wenn du zuerst versuchst objekte zu holen, die du nicht holen kannst ;)

und soweit ich weiß funktionierte gar nichts bei dir, sonst hätten wir hier keinen langen thread ;)
hehe
 
  • Danke
Reaktionen: the_alien
Wenn man schon java4life heißt sollte man Exceptions und Stacktraces kennen und diese bei einem Fehler auch gleich mal mit posten...
 
  • Danke
Reaktionen: java4life
hoffe ihr bekommt keinen augenkrebs xD


an die stelle wo label2 steht soll jetzt was mit setText gesetzt werden...TextView heißt in der xml:
...
"android:id="@+id/TextView02neu"
...



sry,dass ich euch auf den keks gehe. aber es ist halt frustrierend,wenn man stundenlang an so einem "kleinen" error sitzt...und der fehler kommt zur laufzeit...bin euch echt dankbar für eure ratschläge!!!

console:
Code:
[2011-02-03 10:43:00 - ListView2] Uploading ListView2.apk onto device 'emulator-5554'
[2011-02-03 10:43:01 - ListView2] Installing ListView2.apk...
[2011-02-03 10:43:07 - ListView2] Success!
[2011-02-03 10:43:08 - ListView2] Starting activity com.list.StaticDemo on device emulator-5554
[2011-02-03 10:43:11 - ListView2] ActivityManager: Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] cmp=com.list/.StaticDemo }
 
Zuletzt bearbeitet:
Also du scheinst Logcat nicht zu kennen: starte mal die App, lass sie abstürzen und schau mal in Eclipse unter
Window -> Open Perspective -> Other -> DDMS (Tab gegebenenfalls noch auf Logcat wechseln)
oder
Window -> Show View -> Other -> Logcat

Dort sollte es dir dann irgendwo in Rot den Stacktrace und die Exception anzeigen (Rechts von Logcat gibts noch so farbige Buchstaben-Buttons, wenn du auf E stellst, zeigts nur die Fehler an)
 
  • Danke
Reaktionen: java4life
also irgendwie blockieren sich wohl das array + setListAdapter(new ArrayAdapter(this, R.layout.abso, R.id.label,city ));

bzw. raus kommt eine NullPointer...


hätte jemand vielleicht eine idee, wie ich 2 arrays gleichzeitig in die liste bekomme?
möglichst nicht mit hashmap oder ähnlichem,da die beiden arrays unabhängig voneinander sind...
in etwa so:

Code:
ArrayAdapter<String> array1 = new ArrayAdapter<String>(this,R.layout.abso,R.id.label,city);
ArrayAdapter<String> array2 = new ArrayAdapter<String>(this,R.layout.abso,R.id.label2,city2);
        
setListAdapter(array1,array2);

leider geht das so nicht bzw. wenn ich das nacheinander mache:
setListAdapter(array1);
setListAdapter(array2);
wird das erste vom 2. logischerweise überschrieben...

dankö!
 
Zuletzt bearbeitet:
java4life schrieb:
also irgendwie blockieren sich wohl das array + setListAdapter(new ArrayAdapter(this, R.layout.abso, R.id.label,city ));

bzw. raus kommt eine NullPointer...


hätte jemand vielleicht eine idee, wie ich 2 arrays gleichzeitig in die liste bekomme?
möglichst nicht mit hashmap oder ähnlichem,da die beiden arrays unabhängig voneinander sind...
in etwa so:

Code:
ArrayAdapter<String> array1 = new ArrayAdapter<String>(this,R.layout.abso,R.id.label,city);
ArrayAdapter<String> array2 = new ArrayAdapter<String>(this,R.layout.abso,R.id.label2,city2);
        
setListAdapter(array1,array2);

leider geht das so nicht bzw. wenn ich das nacheinander mache:
setListAdapter(array1);
setListAdapter(array2);
wird das erste vom 2. logischerweise überschrieben...

dankö!


Hab die ganzen Post vorher nicht gelesen, aber die Variable city und city2 sind doch Arrays. Dann leg die doch einfach voher zusammen.

Code:
List list = new List();
for(Object obj : city)
 list.add(obj);
for(Object obj : city1)
 list.add(obj);

ArrayAdapter<String> array1 = new ArrayAdapter<String>(this,R.layout.abso,R.id.label,list);
 
rushzero schrieb:
ArrayAdapter<String> array1 = new ArrayAdapter<String>(this,R.layout.abso,R.id.label,list);

das problem dabei ist,dass beide arrays an ein label gebunden werden.
sind aber zwei unterschiedliche labels vorhanden...
 
rushzero schrieb:
Hab die ganzen Post vorher nicht gelesen, aber die Variable city und city2 sind doch Arrays. Dann leg die doch einfach voher zusammen.

Code:
List list = new List();
for(Object obj : city)
 list.add(obj);
for(Object obj : city1)
 list.add(obj);

ArrayAdapter<String> array1 = new ArrayAdapter<String>(this,R.layout.abso,R.id.label,list);
WTF?

Code:
List<Object> list = new ArrayList<Object>();
list.addAll(Arrays.asList(city));
list.addAll(Arrays.asList(city1));
 
the_alien schrieb:
WTF?

Code:
List<Object> list = new ArrayList<Object>();
list.addAll(Arrays.asList(city));
list.addAll(Arrays.asList(city1));

xD man kenn die ganze List Funktionen nicht auswendig zu sehr Eclipse verwöhnt.
 
mann kann sich auch mal den stacktrace in logcat anschauen oO
 

Ähnliche Themen

W
  • WuDiDong
Antworten
3
Aufrufe
755
jogimuc
J
S
Antworten
4
Aufrufe
956
Sempervivum
S
K
Antworten
10
Aufrufe
1.495
swa00
swa00
Zurück
Oben Unten