Olo*_*ing 3 android android-intent recycler-adapter android-recyclerview
我有RecyclerViewAdapter:
public class RecycleViewAdapter extends RecyclerView.Adapter<RecycleViewAdapter.MyViewHolder> {
private List<Cards> items;
private int itemLayout;
Context context;
public RecycleViewAdapter(List<Cards> items, int itemLayout) {
this.items = items;
this.itemLayout= itemLayout;
}
@Override
public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View view=LayoutInflater.from(parent.getContext()).inflate(itemLayout,parent,false);
return new MyViewHolder(view);
}
@Override
public void onBindViewHolder(MyViewHolder holder, int position) {
Cards item=items.get(position);
holder.title.setText(item.getName());
String cardvalue = item.getCountry();
String cardCode = item.getCode();
String cardCountry = item.getCountry();
}
@Override
public int getItemCount() {
return items.size();
}
public static class MyViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener{
TextView title;
public MyViewHolder(View itemView) {
super(itemView);
title= (TextView) itemView.findViewById(R.id.listText);
title.setOnClickListener(this);
}
@Override
public void onClick(View v) {
}
}
}
Run Code Online (Sandbox Code Playgroud)
我需要启动新的Intent(OnCardsSelected.class),但我不能将此行添加到我的方法中onClick:
Intent intent = new Intent (this, OnCardSelected.class);
Run Code Online (Sandbox Code Playgroud)
我不明白我做错了什么,我只需要启动Intent并为此意图提供一些信息,我阅读了一些手册,但不理解他们的解释,所以我希望你能帮助我.谢谢
ρяσ*_*я K 13
可能尝试从onClick方法启动Activity 然后使用v.getContext()而不是this(引用onClick方法上下文)作为Intent构造函数的第一个参数:
Intent intent = new Intent (v.getContext(), OnCardSelected.class);
Run Code Online (Sandbox Code Playgroud)
在 onBindViewHolder 方法中添加这行代码
Intent intent = new Intent(v.getContext(), YourClassName.class);
v.getContext().startActivity(intent);
Run Code Online (Sandbox Code Playgroud)
你就可以走了。
| 归档时间: |
|
| 查看次数: |
14769 次 |
| 最近记录: |