Я бы хотел, чтобы вы мне помогли.Я хочу динамически создать таблицу (скриншот).Я создал его с помощью кода ниже:
TableLayout tl = (TableLayout) findViewById(R.id.main_table);
FOR. 1-300.........
TableRow tr_head = new TableRow(this);
tr_head.setId(10);
tr_head.setBackgroundColor(Color.CYAN);
tr_head.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT,LayoutParams.WRAP_CONTENT));
RelativeLayout rl = new RelativeLayout(this);
rl.setId(20);
ImageButton xyz = new ImageButton(this);
xyz.setId(21);
xyz.setPadding(5, 5, 5, 5);
RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams( LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT );
params.addRule(RelativeLayout.ALIGN_PARENT_LEFT, 20 );
rl.addView(xyz,params);
tr_head.addView(rl);
tl.addView(tr_head, new TableLayout.LayoutParams(LayoutParams.FILL_PARENT,LayoutParams.WRAP_CONTENT));
END OF FOR.......
С помощью аналогичного кода я красиво создаю 2 типа элементов, один для категории (3 дочерних представления) и один для элемента категории (10 дочерних просмотров).Затем я использую код ниже, чтобы назначить слушателя onclick для кнопок и целых элементов.:
int count = tl.getChildCount();
for(int i = 0; i < count; i++){
TableRow v = (TableRow)tl.getChildAt(i);
if(v.getChildAt(0) instanceof RelativeLayout){
RelativeLayout relativ = (RelativeLayout)v.getChildAt(0);
if(relativ.getChildCount()>5)
relativ.setOnClickListener(new MyClickListener());
...........
Но когда я хочу создать таблицу, которая содержит 300 элементов, это займет 30 секунд.сделать это представление на эмуляторе.Это действительно очень медленно.Поэтому я хотел бы спросить вас, как сделать это представление.Некоторые примеры или учебники будут очень полезны.
Большое спасибо заранее.