привет, я попытался добавить поля программно
я пробовал использовать
TextView tv = new TextView(this);
LayoutParams params = new LayoutParams(WRAP_CONTENT, WRAP_CONTENT);
params.setMargins(100, 20, 0, 0);
layout.addView(tv, params);
, который использует android.widget.LinearLayout.LayoutParams, но из-за таблицы у меня возникла ошибка во время выполнения.
как мне тогда это сделать?
это мой код:
//create table row
TableRow trA = new TableRow(this);
trA.setId(1000+i);
trA.setLayoutParams(new LayoutParams (LayoutParams.MATCH_PARENT,LayoutParams.WRAP_CONTENT));
//add data to table row
TextView tvA = new TextView (this);
tvA.setId(2000+i);
tvA.setText(aList.get(i).toString());
tvA.setTextSize(18);
tvA.setTextColor(Color.BLACK);
tvA.setClickable(true);
tvA.setOnClickListener(this);
tvA.setSingleLine(false);
tvA.setHorizontallyScrolling(false);
tvA.setWidth(0);
tvA.setHeight(100);
trA.addView(tvA);
tableA.addView(trA,new TableLayout.LayoutParams(LayoutParams.FILL_PARENT,LayoutParams.WRAP_CONTENT));
== редактируется с помощью импорта android.widget.TableLayout.LayoutParams; ==
я добавил это в конце, где я объявляю таблицу
LayoutParams params = new LayoutParams (LayoutParams.MATCH_PARENT,LayoutParams.WRAP_CONTENT);
params.setMargins(0, 0, 0, 20);
и отредактировал addView в таблице A
tableA.addView(tvA, params);
У меня ошибка в журнале cat, он отображается довольно часто, поэтому я привел основную информацию здесь: у указанного дочернего элемента уже есть родительский элемент. Сначала вы должны вызвать removeView () у родителя ребенка.