A
Andrez
Fortgeschrittenes Mitglied
Hi Leute,
ich hatte eigentlich vor, dass ich eine Tabelle erstelle. Wenn ich auf einen Button in der ActionBar tippe soll eine neue Reihe erstellt werden.
Ich habe 2 Dateien: MainActivity.java und Row.java. Wenn ich die Reihe in der MainActivity erstelle funktioniert es. Da es jedoch immer mehr Code wurde habe ich die Row.java erstellt um eine Instanz von der Reihe zu haben. Entweder bekomme ich eine NullPointerEcxeption oder es passiert nichts wenn ich den Button berühre. Könntet ihr bitte mal über den Code schauen und gucke wo der Fehler liegt?
MainActivity.java
Row.java
Großes Dankeschön im Vorraus!!
Der ursprüngliche Beitrag von 17:26 Uhr wurde um 17:40 Uhr ergänzt:
Hat sich erledigt...war anscheinend ein Problem mit dem Context
ich hatte eigentlich vor, dass ich eine Tabelle erstelle. Wenn ich auf einen Button in der ActionBar tippe soll eine neue Reihe erstellt werden.
Ich habe 2 Dateien: MainActivity.java und Row.java. Wenn ich die Reihe in der MainActivity erstelle funktioniert es. Da es jedoch immer mehr Code wurde habe ich die Row.java erstellt um eine Instanz von der Reihe zu haben. Entweder bekomme ich eine NullPointerEcxeption oder es passiert nichts wenn ich den Button berühre. Könntet ihr bitte mal über den Code schauen und gucke wo der Fehler liegt?
MainActivity.java
Code:
package com.example.tabletest;
import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.TableLayout;
public class MainActivity extends Activity {
TableLayout tl;
Context context= this;
int c = 0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tl = (TableLayout) findViewById(R.id.myTableLayout);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
public void createRow() {
this.c++;
Row tr = new Row(context);
tl.addView(tr);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.action_hinzufuegen:
createRow();
break;
default:
break;
}
return true;
}
}
Code:
package com.example.tabletest;
import android.content.Context;
import android.widget.EditText;
import android.widget.TableRow;
public class Row extends TableRow {
public Row(Context context) {
super(context);
TableRow rowP = new TableRow(context);
rowP.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT,
LayoutParams.WRAP_CONTENT));
EditText et = new EditText(context);
EditText et2 = new EditText(context);
EditText et3 = new EditText(context);
EditText et4 = new EditText(context);
et.setEms(3);
et.setHint("S1");
et2.setEms(3);
et2.setHint("S2");
et3.setEms(3);
et3.setHint("S3");
et4.setEms(3);
et4.setHint("S4");
rowP.addView(et);
rowP.addView(et2);
rowP.addView(et3);
rowP.addView(et4);
}
}
Der ursprüngliche Beitrag von 17:26 Uhr wurde um 17:40 Uhr ergänzt:
Hat sich erledigt...war anscheinend ein Problem mit dem Context
