[英]I need to implementation click listener class on item in recycle view when using adapter and array list
I want when user click on item in recycle move on second activity.我想当用户点击回收中的项目时移动第二个活动。 I have the following adapter:
我有以下适配器:
public class AdapterWassafat extends RecyclerView.Adapter<AdapterWassafat.ViewHolder> {
private ArrayList<Item> itemsList;
private Context mContext;
public AdapterWassafat(ArrayList<Item> itemsList, Context mContext) {
this.itemsList = itemsList;
this.mContext = mContext;
}
@NonNull
@Override
public ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_wasafat,parent,false);
return new ViewHolder(view);
}
@Override
public void onBindViewHolder(@NonNull ViewHolder holder, int position) {
Item item = itemsList.get(position);
holder.text.setText(item.getText());
}
@Override
public int getItemCount() {
return itemsList.size();
}
public class ViewHolder extends RecyclerView.ViewHolder {
TextView text;
public ViewHolder(@NonNull View itemView) {
super(itemView);
text = itemView.findViewById(R.id.text_card_main);
}
}
}
and I have this class to add on item list:我有这个 class 要添加到项目列表中:
public class Item {
private String text;
public Item(String text) {
this.text = text;
}
public Item() {
}
public String getText() {
return text;
}
public void setText(String text) {
this.text = text;
}
}
and this class has recycle:这个 class 有回收:
private AdapterWassafat adapter;
private RecyclerView recyclerView ;
private ArrayList<Item> myList = new ArrayList<>();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_wasafat);
recyclerView = findViewById(R.id.wasafat_recyclerView);
recyclerView.setLayoutManager(new LinearLayoutManager(getBaseContext()));
adapter = new AdapterWassafat(getMyitem(),getBaseContext());
recyclerView.setAdapter(adapter);
}
private ArrayList<Item> getMyitem() {
ArrayList<Item> list = new ArrayList<>();
Item tips = new Item();
tips.setText("وصفة التمر ");
list.add(tips);
tips = new Item();
tips.setText("وصفة اللبن ");
list.add(tips);
tips = new Item();
tips.setText("وصفة الشاي الاخضر ");
list.add(tips);
return list;}
What do I need to make a recycle view when user click on item move on another activity?当用户单击项目移动到另一个活动时,我需要什么来制作回收视图? Like, as user clicks on item وصفة الشاي, to swap or move on into this activity and so on.
比如,当用户点击项目وصفة الشاي,交换或继续进入这个活动等等。 I tried a lot of ways to make it both select or click, but that didn't succeed.
我尝试了很多方法使它既 select 或单击,但没有成功。
In the Adapter:在适配器中:
@Override
public void onBindViewHolder(@NonNull ViewHolder holder, int position) {
Item item = itemsList.get(position);
Context context = holder.itemView.getContext();
holder.text.setText(item.getText());
holder.itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = Intent(context, YourActivity.class);
intent.putExtra("item", item.getText())
context.startActivity(intent);
}
});
}
In your Other Activity, get data as:在您的其他活动中,获取数据为:
// onCreate()
String value = getIntent().getStringExtra("item", "");
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.