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

时间:2018-06-21 16:51:05

标签: java android android-viewpager material-design adapter

我正在使用来自github的这个库:https://github.com/florent37/MaterialViewPager。我希望差异卡视图可以打开差异活动。我该如何实现?

我在Wiki中找不到任何解决方案

TestRecyclerViewAdapter.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;
    }
}
}

1 个答案:

答案 0 :(得分:0)

好吧, 如果您不想实现自定义viewHolder,则可以在onBindViewHolder(RecyclerView.ViewHolder holder, int position)中进行如下操作:

holder.itemView.setOnClickListener(new View.OnClickListener(){
    public void onClick(View v){
        //start which activity you want
    }
})

否则,您可以实现自定义ViewHolder。这是一个指南: https://developer.android.com/guide/topics/ui/layout/recyclerview