指定的子级已有父级和单击事件

时间:2011-10-11 05:28:53

标签: android

这是我的代码......

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。

任何人都可以帮助我。提前谢谢

此致

arpit

1 个答案:

答案 0 :(得分:1)

在你的内部for循环中循环0,1,即2次。

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

你没有正确操纵ids变量因此你只得到0,1,2,iv.setId(ids)的吐司;因为内循环只重复两次,所以检查你的变量。