在viewholder事件android中使用image获取列表项位置

时间:2011-08-26 07:51:21

标签: android listview

我正在使用包含图像视图和文本视图的列表视图。单击其中一个图像视图时,我应该获得特定列表项的位置。

我知道我可以在列表视图上设置clicklistener时获得listitem位置,但图像中有一个视图持有者项,因此它没有得到完美的值,每次只有-1。

enter image description here

不使用getview

所以我尝试了rightimg.setOnClickListener,但是不可能从中获得这个位置。

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

尝试实现它:

public View getView(int position, View convertView, ViewGroup viewGroup)
{
    View row = convertView;
    ViewHolder holder;
    if(row == null)
    {
        row = LayoutInflater.from(mContext).inflate(R.layout.row_branch, null);
        holder=new ViewHolder();
        /**.....Your other implementaion***/
        holder.rightimg = (ImageView)row.findViewById(R.id.image);
        row.setTag(holder);
    }
    else
        holder = (ViewHolder)row.getTag();

    final int pos = position;
    holder.rightimg.setOnClickListener(new OnClickListener()
    {
        public void onClick(View view)
        {
            //Here you can implement your logic
            //Here the correct pos is available
        }
    });

    return row;
}