RecyclerView:获取位置,并切换到活动 [英] RecyclerView : get position and switch to activity
本文介绍了RecyclerView:获取位置,并切换到活动的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
这怎么可能得到它被点击的回收视图行比作一个意图在onclick方法的活动项目的位置? 这是我的适配器:
How is it possible to get the position of the item which was clicked in the recycler view row and than make a intent to an activity in the onClick method ? Here is my adapter:
public class SergejAdapter extends RecyclerView.Adapter<SergejAdapter.MyViewHolder>{
private LayoutInflater inflater;
List<Information> data= Collections.emptyList();
public SergejAdapter(Context context, List<Information> data){
inflater = LayoutInflater.from(context);
this.data=data;
}
@Override
public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View view = inflater.inflate(R.layout.navigation_drawer_custom_row,parent,false);
MyViewHolder holder= new MyViewHolder(view);
return holder;
}
@Override
public void onBindViewHolder(MyViewHolder holder, int position) {
Information current=data.get(position);
holder.title.setText(current.title);
}
@Override
public int getItemCount() {
return data.size();
}
class MyViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener{
TextView title;
ImageView icon;
public MyViewHolder(View itemView){
super(itemView);
title= (TextView) itemView.findViewById(R.id.listText);
icon = (ImageView) itemView.findViewById(R.id.listIcon);
icon.setOnClickListener(this);
}
@Override
public void onClick(View v) {
Context context = itemView.getContext();
Intent intent = new Intent(context, Ernaehrung.class);
context.startActivity(intent);
}
}
在这里,我只是有一个onClick当图像中的一个被点击,但每幅图像具有相同的意向。
Here I just have an onClick when one of the images was clicked, but every image has the same intent.
推荐答案
您可以得到现在的位置是从ViewHolder通过为getPosition()方法。就像下面code:
You can get postion from ViewHolder by getPosition() method. Like in code below:
public class SergejAdapter extends RecyclerView.Adapter<SergejAdapter.MyViewHolder>{
...
class MyViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener{
@Override
public void onClick(View v) {
// here you use position
int position = getAdapterPosition();
...
}
}
}
这篇关于RecyclerView:获取位置,并切换到活动的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文