我希望你能幫助我。 我想創建動態表(截圖)。我通過代碼創建它下面:Android動態創建表 - 性能不佳
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個視圖)的。 然後我使用代碼波紋管分配按鈕和整個項目:
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());
...........
的onclick監聽但是,當我想創建表包含300項,它需要30秒。在模擬器上渲染這個視圖。這真的很慢。所以我想問你如何渲染這個視圖。一些示例或教程將非常有用。
很多預先感謝。
謝謝,它有很大的幫助。 – 2012-03-22 08:59:49