[Java] [Android] Problem mit dynamisch erzeugten Views

Dieses Thema im Forum "Programmierung & Entwicklung" wurde erstellt von Fuselmeister, 21. Oktober 2012 .

Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. 21. Oktober 2012
    [Android] Problem mit dynamisch erzeugten Views

    Hi,
    ich hab eine Activity in der ich verschiedene TextViews erzeuge und dann in ein TableLayout packe:
    Code:
    TextView TV = new TextView(this);
    TV.setId(new_ID);
    [...]
    Tabelle.addView(TV, new TableLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
    Funktioniert auch alles Wunederbar. Den Wert für new_ID erzeuge ich vorher und das TextView erhält die ID auch.

    Später möchte ich wieder auf das TextView zugreifen:
    Code:
    TextView TV = (TextView) findViewById(new_ID);
    der Wert von new_ID stimmt, trotzdem erhalte ich eine NullPointerException.
    Ich hab gelesen, dass findViewById für das verbinden mit Views aus der XML vorgesehen ist, liegt das vielleicht daran? Und wenn womit kann ich sonst auf die TextViews zugreifen?
     
  2. 22. Oktober 2012
    AW: [Android] Problem mit dynamisch erzeugten Views

    Bei mir funktioniert es, so wie du es beschreibst.

    Mein Code:
    Code:
     int new_ID = 159;
     LinearLayout ll = (LinearLayout) findViewById (R.id.layout);
     TextView tv = new TextView (this);
     tv.setId (new_ID);
     tv.setText ("Test 1");
    
     ll.addView (tv);
    
     TextView tv2 = (TextView) findViewById (new_ID);
     tv2.setText ("Test 2");
    
    Wo rufst du denn den Code auf:
    Code:
    TextView TV = (TextView) findViewById(new_ID);
    Ist "new_ID" auch die richtige Zahl?
    Kannst du die Variable "tv" nicht als Instanzvariable deklarieren?
     
    1 Person gefällt das.
  3. 22. Oktober 2012
    AW: [Android] Problem mit dynamisch erzeugten Views

    Code:
    TextView TV = (TextView) findViewById(new_ID);
    an der Stelle hab ich mal aus TV TV2 gemacht. Jetzt funktionierts
     
  4. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.