Java 如何在Materialviewpage适配器中添加onClickListener?

Java 如何在Materialviewpage适配器中添加onClickListener?,java,android,android-viewpager,material-design,adapter,Java,Android,Android Viewpager,Material Design,Adapter,我正在使用来自github的库:。我希望不同的卡视图打开不同的活动。我怎样才能做到呢 我在那里找不到任何解决方案 testRecycleServiceAdapter.java public class TestRecyclerViewAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> { List<Object> contents; static final int TYPE_HEADER =

我正在使用来自github的库:。我希望不同的卡视图打开不同的活动。我怎样才能做到呢

我在那里找不到任何解决方案

testRecycleServiceAdapter.java

public class TestRecyclerViewAdapter extends 
RecyclerView.Adapter<RecyclerView.ViewHolder> {

List<Object> contents;

static final int TYPE_HEADER = 0;
static final int TYPE_CELL = 1;

public TestRecyclerViewAdapter(List<Object> contents) {
    this.contents = contents;
}

@Override
public int getItemViewType(int position) {
    switch (position) {
        case 0:
            return TYPE_HEADER;
        default:
            return TYPE_CELL;
    }
}

@Override
public int getItemCount() {
    return contents.size();
}

@Override
public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
    View view = null;

    switch (viewType) {
        case TYPE_HEADER: {
            view = LayoutInflater.from(parent.getContext())
                    .inflate(R.layout.list_item_card_big, parent, false);
            return new RecyclerView.ViewHolder(view) {
            };
        }
        case TYPE_CELL: {
            view = LayoutInflater.from(parent.getContext())
                    .inflate(R.layout.list_item_card_small, parent, false);
            return new RecyclerView.ViewHolder(view) {
            };
        }
    }
    return null;
}
@Override
public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) {
    switch (getItemViewType(position)) {
        case TYPE_HEADER:
            break;
        case TYPE_CELL:
            break;
    }
}
}
公共类TestRecycleServiceAdapter扩展
RecyclerView.适配器{
列出内容;
静态最终整数类型_头=0;
静态最终整数类型\单元=1;
公共TestRecycleServiceAdapter(列出内容){
this.contents=目录;
}
@凌驾
public int getItemViewType(int位置){
开关(位置){
案例0:
返回类型_头;
违约:
返回式单元;
}
}
@凌驾
public int getItemCount(){
返回contents.size();
}
@凌驾
public RecyclerView.ViewHolder onCreateViewHolder(视图组父级,int-viewType){
视图=空;
开关(视图类型){
案例类型_标题:{
view=LayoutInflater.from(parent.getContext())
.充气(R.layout.list\u item\u card\u big,parent,false);
返回新的RecyclerView.ViewHolder(视图){
};
}
案例类型\单元:{
view=LayoutInflater.from(parent.getContext())
.充气(R.layout.list\u item\u card\u small,parent,false);
返回新的RecyclerView.ViewHolder(视图){
};
}
}
返回null;
}
@凌驾
BindViewHolder上的公共无效(RecyclerView.ViewHolder,int位置){
开关(getItemViewType(位置)){
案例类型_标题:
打破
案例类型\单元:
打破
}
}
}
嗯, 如果不想实现自定义viewHolder,可以在
onBindViewHolder(RecyclerView.viewHolder,int位置)
中执行类似操作:

否则,您可以实现自定义的ViewHolder。以下是指南:

您为什么不创建自定义视图夹?我尝试过,但似乎不是我喜欢的,我们将感谢您的帮助谢谢您的回答,我找到了使用自定义视图夹的方法
holder.itemView.setOnClickListener(new View.OnClickListener(){
    public void onClick(View v){
        //start which activity you want
    }
})