Tablerow in einer for schleife erstellen

  • 2 Antworten
  • Letztes Antwortdatum
L

lumo2707

Neues Mitglied
0
Hi Leute,

ich möchte mein Tablelayout im Java Code generieren. Dazu brauch ich eine individuelle Anzahl an Tabelrows.

Wie kann ich mir die jetzt generieren?
So gehts leider nicht:

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

TableRow m_TableRow = new TableRow(this);

}

Hat da jemand ne idee?
 
du wirst etwas in der art machen müssen:

tablerow row = new tablerow
table.addrow(row)
 
Ich habe in einer meiner Apps eine Tabelle mit einer dynamischen Anzahl Rows.

Beim Updaten loope ich darüber und nehme entweder die vorhandene Row oder füge eine neue an. Das sieht so aus:

Code:
		for (int i=0;i<pc;i++)
		{
			if (tl.getChildCount() >i+1)
				tr = (TableRow) tl.getChildAt(1+i);
			else
			{
				tr = newRow();
				tl.addView(tr);
			}
			cb = (CheckBox) tr.getChildAt(0);
			cb.setOnClickListener(this);
			cb.setChecked(true);
			cb.setClickable(i_card&&checked);
			et = (EditText) tr.getChildAt(1);
			et.setText(prop.getProperty("Values."+ind[i]+".Start",""));
			et.setOnFocusChangeListener(this);
			et.setSelectAllOnFocus(true);
			et.setFocusableInTouchMode(true);
			et = (EditText) tr.getChildAt(2);
			et.setText(prop.getProperty("Values."+ind[i]+".End",""));
			et.setOnFocusChangeListener(this);
			et.setSelectAllOnFocus(true);
			et.setFocusableInTouchMode(true);
			et = (EditText) tr.getChildAt(3);
			et.setText(prop.getProperty("Values."+ind[i]+".Size",""));
			et = (EditText) tr.getChildAt(4);
			et.setText(prop.getProperty("Values."+ind[i]+".Name",""));
			et.setOnFocusChangeListener(this);
			et.setSelectAllOnFocus(true);
			et.setFocusableInTouchMode(true);
		}

und die newRow() Methode:

Code:
	protected TableRow newRow()
	{
		TableRow tr = new TableRow(getActivity());
		CheckBox cb = new CheckBox(getActivity());
		TableRow.LayoutParams lp = new TableRow.LayoutParams(TableRow.LayoutParams.MATCH_PARENT,TableRow.LayoutParams.MATCH_PARENT);
		lp.setMargins(15, 0, 0, 0);
		cb.setLayoutParams(lp);
		cb.setOnClickListener(this);
		cb.setClickable(i_card);
		tr.addView(cb);
		for (int i=0;i<4;i++)
		{
			EditText et = new EditText(getActivity());
			et.setEms(i==3?4:3);
			et.setInputType(i==3?InputType.TYPE_CLASS_TEXT:(InputType.TYPE_CLASS_NUMBER | (i==2?InputType.TYPE_NUMBER_FLAG_DECIMAL:0)));
			et.setFocusable(false);
			tr.addView(et);
		}
		return tr;
	}
MfG Uwe
 
Zurück
Oben Unten