【发布时间】:2013-07-28 21:56:14
【问题描述】:
我正在尝试使用基于图标数组的动态行数填充 TableLayout,但是我无法让行显示在屏幕上。该表应显示一个 5x3 的图标网格。我使用的代码如下:
Services serv = new Services();
Item[] iconArray = serv.getIcons();
TableLayout table = (TableLayout) findViewById(R.id.table1);
int rowNum = iconArray.length/5;
TableRow rows[]= new TableRow[rowNum];
int count = 0;
for (int i = 0; i < iconArray.length; i++) {
final String name = iconArray[i].name;
final int icon = iconArray[i].icon;
LayoutInflater inflater = LayoutInflater.from(MainActivity.this);
View v = inflater.inflate(R.layout.icon, null,false);
TextView text = (TextView) v.findViewById(R.id.text);
text.setText(name);
ImageView imageicon = (ImageView) v.findViewById(R.id.icon);
imageicon.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
//Do some stuff
}
});
Drawable drawicon = getResources().getDrawable(icon);
imageicon.setBackgroundDrawable(drawicon);
if(i == 4) //End of Row
{
count++;
}
if(i == 9) //End of Row2
{
count++;
}
rows[count] = new TableRow(this);
rows[count].addView(v);
table.addView(rows[count]);
}
这不会向屏幕输出任何内容,并且 TableLayout 保持为空。谁能告诉我我的思路是否正确?
任何帮助将不胜感激。
谢谢
【问题讨论】:
-
您能解释一下您的 TableLayout 必须显示的内容吗?只有 Image 和 TextView 的行?
-
@Jahckyto TableLayout 应该显示三行填充图标和一个带有每个图标名称的 TextView。出于其他原因,此处不能选择使用 GridView
标签: android icons row tablelayout