Adapt
繼承RecyclerView.Adapter的子類,顯示資料集項目的視圖。
public class Adapter extends RecyclerView.Adapter<RecyclerListAdapter.ItemViewHolder>
繼承RecyclerView.ViewHolder的子類容器。
public static class ItemViewHolder extends RecyclerView.ViewHolder implements ItemTouchHelperViewHolder {
public final TextView mTextView ;
public ItemViewHolder(View itemView) {
super(itemView);
mTextView = (TextView) itemView.findViewById(R.id.textview);
}
}
初始化項目視圖。
@Override
public ItemViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.item, parent, false);
ItemViewHolder itemViewHolder = new ItemViewHolder(view);
return itemViewHolder;
}
給定項目內容。
@Override
public void onBindViewHolder(final ItemViewHolder holder, int position) {
holder.mTextView.setText(mItems.get(position));
//recyclerview 沒有OnItemClickListener需要自己添加
holder.mTextView.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
if (MotionEventCompat.getActionMasked(event) == MotionEvent.ACTION_DOWN) {
mOnTouchListener.onClcikEvent();
}
return false;
}
});
}
public interface OnTouchListener {
void onClcikEvent();
}
public void setOnTouchListener (OnTouchListener onTouchListener ){
this.mOnTouchListener = onTouchListener ;
}