我遇到与this one相同的问题。 不幸的是,那个问题的答案对我不起作用。
我知道行被添加到表中,我可以看到logcat中增加的行数。
但我在屏幕上看不到它们。
调查刷新(无效),颜色,尺寸,布局参数,......
......并且没有想法
XML:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<Button
android:id="@+id/btnAddRow"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Add row" />
<TableLayout
android:id="@+id/tableLayoutInventory"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="10dp"
android:shrinkColumns="*"
android:stretchColumns="*" >
<TableRow
android:id="@+id/tableRowTitle"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<TextView
android:id="@+id/headerCol1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="ID"
android:textSize="16dp" />
<TextView
android:id="@+id/headerCol2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Titre"
android:textSize="16dp" />
</TableRow>
</TableLayout>
</LinearLayout>
代码:
public void onClick(View v) {
TableRow row = new TableRow(this);
row.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT));
TextView tv = new TextView(this);
tv.setText("ID, row "+rownb);
tv.setHeight(16);
tv.setTextSize(16);
tv.setTextColor(Color.RED);
tv.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT));
row.addView(tv);
TextView tv2 = new TextView(this);
tv2.setHeight(16);
tv2.setTextSize(16);
tv2.setTextColor(Color.RED);
tv2.setText("Title, row "+rownb);
tv2.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT));
row.addView(tv2);
table_layout.addView(row);
table_layout.requestLayout();
table_layout.invalidate();
table_layout.postInvalidate();
Log.i ("LIMA","Add row. There are now "+table_layout.getChildCount()+" rows");
}
答案 0 :(得分:0)
删除您在表行
中添加的视图中的LayoutParams