5

谁能告诉我如何为gridview中的图像设置标签和getTag。我已经编写了以下代码,但它不起作用。以下代码是否正确?

int jj=100;
    for(int j=0;j<imageid.length;j++)//imageid is the array of drawable images
        {
        griview1.getChildAt(j).setTag(jj);
        System.out.println(g.getChildAt(j).getTag());
        }

这是我的 getView 方法

public View getView(int arg0, View arg1, ViewGroup arg2) {
    // TODO Auto-generated method stub

    ImageView imv;
    if(arg1!=null)
    {
        imv=(ImageView)arg1;
    }
    else
    {
        imv=new ImageView(cont);
        imv.setLayoutParams(new GridView.LayoutParams(40,40));
        imv.setScaleType(ScaleType.CENTER_CROP);
        imv.setPadding(0,0,0,0);

        }

    }
    imv.setImageResource(imageid[arg0]);
    return imv;
4

2 回答 2

0

最后我自己得到了我的问题的答案。感谢所有提出宝贵建议的人。

仅在网格视图的侦听器中,我通过检查条件为网格视图单元格设置标签

for example:    
if(position==20)

g.setTag("our tag");
于 2012-12-24T13:35:29.077 回答
0

只需将您的标签设置在getView

public View getView(int arg0, View arg1, ViewGroup arg2) {

    if(arg1!=null)
    {
        ImageView imv = new ImageView(cont);
        imv.setLayoutParams(new GridView.LayoutParams(40,40));
        imv.setScaleType(ScaleType.CENTER_CROP);
        imv.setPadding(0,0,0,0);

        arg1 = imv;
    }
    arg1.setTag(arg0);
    return arg1;
}
于 2012-12-19T13:35:35.533 回答