recyclerView android获取项目索引

时间:2016-08-16 20:43:48

标签: android android-recyclerview

这是我的代码

我有recyclerView,我为每个图像点击项目点击这个代码将是它的工作没有任何问题,当我点击项目我得到位置,我可以使用它

ImageView image = new ImageView(context);
image.setOnClickListener(this);

    @Override
    public void onClick(View v) {
        onItemClickListener.onItemClick(null, v, getAdapterPosition(), v.getId());
    }

但我有问题,请先看图像

enter image description here

所有这些图像在一个组中,所以如果我点击第一个图像,它将给我在组上的位置,当我点击第二个图像将返回组的位置而不是图像..相同的3 4 5 .. < / p>

我可以获得我点击它的图像的索引,就像我点击该组上的第一张图片一样,它给我index 1或点击第三张图片返回index 3

2 个答案:

答案 0 :(得分:2)

但是,这并不是一件麻烦事。在您的RecyclerView.Adapter实现中,您应该:

#!/bin/bash
#replacing spaces with comma. 
all_entries=`cat servers_list.txt | tr ' ' ','`
for a_line in $all_entries
   do
        host=`echo $a_line | cut -f1 -d','`
        ipad=`echo $a_line | cut -f2 -d','`
        #for a third fild
        #field_name=`echo $a_line | cut -f3 -d','`
        echo $host
        echo $ipad
   done

onClick方法:

private final OnClickListener mOnClickListener = new MyOnClickListener();

@Override
public MyViewHolder onCreateViewHolder(final ViewGroup parent, final int position) {
    View view = LayoutInflater.from(mContext).inflate(R.layout.myview, parent, false);
    view.setOnClickListener(mOnClickListener);
    return new MyViewHolder(view);
}

答案 1 :(得分:0)

您可以使用:

#container
{
    height:2000px;    
}

#container DIV
{ 
    margin:50px; 
    padding:50px; 
    background-color:pink; 
}

.hideme
{
    opacity:0;
}

来自getAdapterPosition(); 的子类。