2011-10-11 50 views
0

这是我的代码...指定的孩子已经有一个父和点击事件

for(int i=0;i<sitesList.getPdf().size();i++) 
    { 
     Bitmap bmp; 
     URL url=null; 
     InputStream is; 
     ImageView iv=null; 

     tr=new TableRow(this); 
     tr.setLayoutParams(new LayoutParams(
       LayoutParams.WRAP_CONTENT, 
       LayoutParams.WRAP_CONTENT)); 

     for (int j=0;j<2;j++) 
     { 
      iv=new ImageView(this); 
      try 
      { 
       s1=sitesList.getThumbnail().get(count); 
       url = new URL(s1); 
       count++; 

       conn=(HttpURLConnection)url.openConnection(); 
       conn.setDoInput(true); 
       conn.connect(); 

        is = conn.getInputStream(); 

       bmp = BitmapFactory.decodeStream(is); 
       iv.setImageBitmap(bmp); 

        iv.setLayoutParams(new LayoutParams(
          LayoutParams.FILL_PARENT, 
          LayoutParams.FILL_PARENT)); 
        iv.setId(ids); 
        int flag=iv.getId(); 
        Log.v(".....Flag.....",+flag+""); 

        tr.addView(iv); 

        tl.addView(tr,new TableLayout.LayoutParams(
          LayoutParams.FILL_PARENT, 
          LayoutParams.WRAP_CONTENT)); 

        ids++; 
        Log.v(".....Counter...",count+""); 
        iv.setOnClickListener(new View.OnClickListener() 
        { 

         public void onClick(View v) 
         { 


          int a=v.getId(); 
          if(a==0) 
          { 
           Toast.makeText(getApplicationContext(), "0",Toast.LENGTH_SHORT).show(); 
          } 
          else if(a==1) 
          { 
           Toast.makeText(getApplicationContext(), "1",Toast.LENGTH_SHORT).show(); 
          } 
          else if(a==2) 
          { 
           Toast.makeText(getApplicationContext(), "2",Toast.LENGTH_SHORT).show(); 
          } 
          else if(a==3) 
          { 
           Toast.makeText(getApplicationContext(), "3",Toast.LENGTH_SHORT).show(); 
          } 
          else if(a==4) 
          { 
           Toast.makeText(getApplicationContext(), "4",Toast.LENGTH_SHORT).show(); 
          } 
          else if(a==5) 
          { 
           Toast.makeText(getApplicationContext(), "5",Toast.LENGTH_SHORT).show(); 
          } 

         } 
        });  

      }catch(Exception e) 
      { 
       e.printStackTrace(); 
      } 
     } 

     //Log.v(".....Myids",ids+""); 
     //ids++; 
    } 

它会告诉我的(1)“指定的孩子已经有一个父”警告 和(2)当我点击图片就会在烤面包上只识别0,1,2。

谁能帮助me.thanks提前

问候

arpit

+0

把你的堆栈追踪。 – blessenm

回答

1

在你内心的循环,其循环为0,1即2倍。

在这个内部循环中,您将tl(tablelayout)添加到两次相同的tr(tablerow),因此它给出指定的孩子已经有父警告。

你不能正确操作ID变量,因此你只得到0,1,2,iv.setId(ID)的烤面包;由于内循环只能重复两次,所以请检查您的变量。

+0

感谢您的重播我可以使用tablerow数组吗?我使用同一个表行,因为我已经在一行中显示2个图像... – user988853

+0

不要为表行数组做一件事添加表格行tr在表格布局中紧随内部for循环 tl.addView(tr,new TableLayout.LayoutParams( LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT)); 这将解决您的问题。 –

+0

是的,我做了同样的事情,它的工作thanks.do你知道我怎么可以在Android模拟器上添加PDF文件从URL?你能给我一些链接吗? – user988853

相关问题