【发布时间】:2015-05-02 16:59:32
【问题描述】:
我正在尝试将 sqlite 列拆分为一个数组,然后为数组的每个项目添加一个 TextView。下面是我为数组中的每个项目添加TextView 的函数:
private void BuildTable() {
sqlcon.open();
Cursor c = sqlcon.readEntry();
int rows = c.getCount();
int cols = c.getColumnCount();
String[] array;
c.moveToFirst();
// outer for loop
for (int i = 0; i < rows; i++) {
TableRow row = new TableRow(this);
row.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT,
LayoutParams.WRAP_CONTENT));
// inner for loop
for (int j = 0; j < cols; j++) {
TextView tv = new TextView(this);
tv.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT,
LayoutParams.WRAP_CONTENT));
// tv.setBackgroundResource(R.drawable.cell_shape);
tv.setGravity(Gravity.CENTER);
tv.setTextSize(18);
tv.setPadding(0, 5, 0, 5);
array = c.getString(1).split(",");
for (int k = 0; k < array.length; k++) {
tv.setText(array[k]);
row.addView(tv);
}
}
c.moveToNext();
table_layout.addView(row);
}
sqlcon.close();
}
我收到以下错误:
java.lang.RuntimeException:无法启动活动 ComponentInfo{com.logquiz.thequiz.logquiz/com.logquiz.thequiz.logquiz.RulesActivity}:java.lang.IllegalStateException:指定的孩子已经有一个父母。您必须先在孩子的父母上调用 removeView()。
【问题讨论】:
-
为什么不直接使用
ListView?
标签: java android android-layout android-activity