2010-09-10 57 views
0

我有一些问题,我无法解决这个问题。 在我的代码中添加动态ImageButtons(我动态创建TableRow并添加到行),它们显示出来,但我不能点击它们(我尝试所有,设置clickable为true,启用true和无)。如果我使用Button而不是ImageButton,所有工作都很好,除非我再次为按钮设置相同的背景。ANDROID - DYNAMMICALLY ADDVIEW PROBLEM

另外我从代码中添加TextView,但TextView根本不显示。 任何解决方案?

+0

你可以显示你动态添加图片按钮的代码片段吗? – 2010-09-10 16:17:31

+0

我放下了不起作用的代码。帮帮我 ? :( – msretractor 2010-09-10 21:11:44

回答

0

这是从一些名单

public static TableRow[] Create(List<Apartment> list){ 
    TableRow[] rows=null; 
    try{ 
     rows=new TableRow[list.size()*3]; 
     int i=0; 

     for(Apartment ap : list){ 
      rows[3*i]=new TableRow(activity); 
      rows[3*i+1]=new TableRow(activity); 
      rows[3*i+2]=new TableRow(activity); 

      rows[3*i].setLayoutParams(new LayoutParams( 
        LayoutParams.WRAP_CONTENT, 
        LayoutParams.WRAP_CONTENT)); 
      rows[3*i+1].setLayoutParams(new LayoutParams( 
        LayoutParams.WRAP_CONTENT, 
        LayoutParams.WRAP_CONTENT)); 
      rows[3*i+2].setLayoutParams(new LayoutParams( 
        LayoutParams.WRAP_CONTENT, 
        LayoutParams.WRAP_CONTENT)); 

      EditText txtMainInform=new EditText(activity); 

      //txtMainInform.setText(ap.GetMainInformation()); 
      txtMainInform.setLayoutParams(new LayoutParams( 
        LayoutParams.WRAP_CONTENT, 
        LayoutParams.WRAP_CONTENT)); 
      txtMainInform.setText("vvvvvvvvvvvvvvvvvvvv"); 
      txtMainInform.setVisibility(1); 
      rows[3*i].addView(txtMainInform); 
      rows[3*i].setVisibility(1); 

      TextView txtMoreInform=new TextView(activity); 
      txtMoreInform.setLayoutParams(new LayoutParams( 
        LayoutParams.WRAP_CONTENT, 
        LayoutParams.WRAP_CONTENT)); 
      rows[3*i+1].addView(txtMoreInform); 


      ImageButton imbGallery=new ImageButton(activity); 
      imbGallery.setClickable(true); 
      imbGallery.setEnabled(true); 
      imbGallery.setBackgroundResource(R.drawable.gallery_icon); 



      ImageButton imbCall=new ImageButton(activity); 
      imbCall.setBackgroundResource(R.drawable.phone); 

      ImageButton imbMap=new ImageButton(activity); 
      imbMap.setBackgroundResource(R.drawable.map); 
      rows[3*i+2].addView(imbGallery); 
      rows[3*i+2].addView(imbCall); 
      rows[3*i+2].addView(imbMap); 
      rows[3*i+2].setEnabled(true); 
      i++; 
     } 

    } 
    catch(Exception e){ 

    } 
    return rows; 
} 

有我添加创建行功能ImageButtons-这是在OnCreate功能的一部分

TableRow[] rows=ResultCreator.Create(list); 
TableLayout table=(TableLayout)this.findViewById(R.id.result_layout); 

for(TableRow row:rows){ 
table.addView(row,new TableLayout.LayoutParams(
    LayoutParams.WRAP_CONTENT, 
    LayoutParams.WRAP_CONTENT)); 
} 

我TableLayout是其他的LinearLayout里面,使不同?
谢谢