Я пытаюсь заполнить TableLayout динамическим количеством строк на основе массива значков, однако я не могу заставить строки отображаться на экране. В таблице должна отображаться сетка 5x3. Код, я использую ниже:Как создать таблицу с динамическим числом строк в Android
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 должен отображаться? Только строка с изображением и TextView? – Jackyto
@Jahckyto TableLayout должен отображать три строки, заполненные значками и TextView с именем каждого значка. Использование GridView здесь не было возможным по другим причинам. – user2060733