这是我的代码......
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
答案 0 :(得分:1)
在你的内部for循环中循环0,1,即2次。
在这个内部循环中,你将相同的tr(tablerow)添加到tl(tablelayout)两次,因此它给指定的孩子已经有父警告。
你没有正确操纵ids变量因此你只得到0,1,2,iv.setId(ids)的吐司;因为内循环只重复两次,所以检查你的变量。