Android 在viewholder事件中使用图像获取列表项位置

Android 在viewholder事件中使用图像获取列表项位置,android,listview,Android,Listview,我使用的是具有ImageView和TextView的listview。当单击其中一个图像视图时,我应该获得特定列表项的位置 我知道在listview上设置clicklistener时可以得到listitem的位置,但是图像中有一个视图持有者项,所以它没有得到完美的值,每次只能得到-1 而不使用getview 因此,我尝试了rightimg.setOnClickListener,但无法从中获得位置 我如何解决这个问题?试着像这样实现它: public View getView(int posit

我使用的是具有ImageView和TextView的listview。当单击其中一个图像视图时,我应该获得特定列表项的位置

我知道在listview上设置clicklistener时可以得到listitem的位置,但是图像中有一个视图持有者项,所以它没有得到完美的值,每次只能得到-1

而不使用getview

因此,我尝试了
rightimg.setOnClickListener
,但无法从中获得位置


我如何解决这个问题?

试着像这样实现它:

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;
}

textview和imageview位于viewholder中,当我点击imageview时,比如说“someText 6”,那么它应该返回位置6,假设列表从“someText 1”开始。@hanry让我们看看