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:
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);
}