Android Tabelle dynamisch erzeugen

  • Themenstarter Gelöschtes Mitglied 34244
  • Beginndatum
G

Gelöschtes Mitglied 34244

Gast
Hallo,
ich arbeite gerade daran eine Tabelle dynamisch zu generieren. Ohne XML-File und durch reine Java-Befehle ist das auch kein Problem gewesen. Aber ich möchte nicht wegen einer Tabelle das gesamte Seitenlayout mit Java erstellen. Denn sobald ich versuche eine Mischung aus XML und Java zu programmieren ergeben sich Fehlermeldungen, die mir nicht weiterhelfen. Ich poste mal den Quelltext und hoffe, dass ihr mir weiterhelfen könnt. Bei dem Quelltext versuche zunächst mal nur eine Tabelle mit unterschiedlichen Hintergrundfarben zu generieren.

Die Fehlermeldung lautet: NullPointerException (in Zeile ll.addView(tbl))


test.xml:

[XML]<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@+id/test" />

[/XML]

Test.java:
Java:
...
...
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);

LinearLayout ll = (LinearLayout) findViewById(R.id.test);

TableLayout tbl = new TableLayout(this);

for(int i=0;i<10;i++){

TableRow eins = new TableRow(this);
int zufall = (int)-(Math.random()*16777216);
eins.setBackgroundColor(zufall);
TextView tv = new TextView(this);
tv.setText("Reihe "+i);
eins.addView(tv);
tbl.addView(eins); // Zeile der Fehlermeldung

}

ll.addView(tbl);
this.setContentView(R.id.test);

}
 

schlingel

Gesperrter Benutzer
Das sieht soweit alles korrekt aus. Check einmal ob du R aus dem richtigen Package importiert hast und wenn's das nicht war, poste die ganze Exception.
 
G

Gelöschtes Mitglied 34244

Gast
Ah, sorry, so wie es oben außerhalb des Quelltextes steht ist es korrekt, ich habs aber jetzt korrigiert. Zu der Fehlermeldung gibts eigentlich nicht mehr zu posten. Da steht halt nur:
Caused by: Java.lang.NullPointerException
at [package].onCreate [Zeile]

Oder brauchst du noch andere Informationen?


Nachtrag: Ich kann den ersten Beitrag nicht mehr korrigieren, ist das normal?! Da gibts keinen Ändernbutton.
 
Zuletzt bearbeitet von einem Moderator:

VfL_Freak

Top Contributor
Moin,

nein, ändern solltest Du eigene Beträge eigentlich immer können .....

Dann würde ich mal drauf tippen, dass "ll" null ist.
Prüfe es entweder in Debugger oder schau mal, ob Du so drüber weglaufen kannst:
Java:
if( ll != null )
{
    ll.addView(tbl);
}

Gruß
Klaus
 

schlingel

Gesperrter Benutzer
Ah, jetzt seh ich den Fehler. Du setzt die Content-View viel zu spät. Wie willst du den etwas in der ContentView finden (findViewById) wenn du sie erst nach der Suche setzt?

findViewById returniert null wenn es die gegebene ID nicht findet.

nein, ändern solltest Du eigene Beträge eigentlich immer können .....
Das war einmal. Seit ein paar Wochen hat man nur noch 15min Zeit, danach geht's nicht mehr. Ziemlich ärgerlich wenn man dann später einmal seinen eigenen, mit Fehler gespickten, Post sieht ...
 
G

Gelöschtes Mitglied 34244

Gast
Ja! Das war das Problem. Und außerdem war setContentView noch auf die falsche Resource verwiesen worden. Ich hatte R.id.test geschrieben, aber eigentlich hätte es R.layout.test heißen müssen. Vielen Dank! :toll:
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
B Android Tabelle dynamisch sortieren / filtern möglich Android & Cross-Platform Mobile Apps 2
L Android Wie erstelle ich eine dynamische Tabelle (TableLayout)? Android & Cross-Platform Mobile Apps 2
B Android SQLite Tabelle neue Spalten hinzufügen Android & Cross-Platform Mobile Apps 8
S Combobox mit 2 Spalten aus MySql Tabelle Android & Cross-Platform Mobile Apps 1
K Löschen einer Tabelle bei PlayStore update Android & Cross-Platform Mobile Apps 2
B TableLayout verhält sich nicht wie eine Tabelle Android & Cross-Platform Mobile Apps 3
G Java ME Tabelle in J2ME Android & Cross-Platform Mobile Apps 4
S Image dynamisch anhand von id in ImageView anpassen Android & Cross-Platform Mobile Apps 4
R [ANDROID] Dynamisch eine Liste erweitern Android & Cross-Platform Mobile Apps 3
G Android Spinner dynamisch aus DB SQL Select befüllen Android & Cross-Platform Mobile Apps 10
T tablelayout dynamisch ergänzen Android & Cross-Platform Mobile Apps 2
B Android XML File ein lesen und menü erzeugen Android & Cross-Platform Mobile Apps 1
B Android Absolute kml-Datei erzeugen Android & Cross-Platform Mobile Apps 2
B Android Bei Absturz Fehlerdatei erzeugen Android & Cross-Platform Mobile Apps 2
G R.java erzeugen Android & Cross-Platform Mobile Apps 5
G Datei erzeugen, per E-Mail senden Android & Cross-Platform Mobile Apps 5
F Eclipse JAD File erzeugen -- Problem Android & Cross-Platform Mobile Apps 10

Ähnliche Java Themen

Neue Themen


Oben