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