2011-10-11 81 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

相關問題