适配器
package com.one.ui.clues.adapter;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import androidx.annotation.NonNull;
import androidx.recyclerview.widget.RecyclerView;
import com.one.R;
public class ViewAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> {
private Context context;
public ViewAdapter(Context context) {
this.context = context;
}
@NonNull
@Override
public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View view = LayoutInflater.from(context).inflate(R.layout.item_clues_kehu, parent, false);
return new ViewHolder(view);
}
@Override
public void onBindViewHolder(@NonNull RecyclerView.ViewHolder holder, int position) {
ViewHolder holder1 = (ViewHolder) holder;
//点击事件
if (mOnItemClickLitener != null) {
holder1.itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//int pos = holder1.getLayoutPosition(); //获取下标位置
mOnItemClickLitener.onItemClick(holder.itemView, position);
}
});
}
if (mOnItemLongClickListener != null) {
//长按
holder1.itemView.setOnLongClickListener(new View.OnLongClickListener() {
@Override
public boolean onLongClick(View v) {
//int pos = holder1.getLayoutPosition(); //获取下标位置
mOnItemLongClickListener.onItemLongClick(holder.itemView, position);
return true;
}
});
}
}
@Override
public int getItemCount() {
return 1;
}
class ViewHolder extends RecyclerView.ViewHolder {
public ViewHolder(@NonNull View itemView) {
super(itemView);
}
}
//条目点击
private OnItemClickLitener mOnItemClickLitener;
public void setOnItemClickLitener(OnItemClickLitener mOnItemClickLitener) {
this.mOnItemClickLitener = mOnItemClickLitener;
}
//条目长按
private OnItemLongClickListener mOnItemLongClickListener;
public void setOnItemLongClickListener(OnItemLongClickListener onItemLongClickListener) {
mOnItemLongClickListener = onItemLongClickListener;
}
//定义条目点击
public interface OnItemClickLitener {
void onItemClick(View view, int position);
}
//定义条目长按
public interface OnItemLongClickListener {
void onItemLongClick(View view, int position);
}
}
在Acrivity中调用
//条目点击
adapter.setOnItemClickLitener(new KeHuAdapter.OnItemClickLitener() {
@Override
public void onItemClick(View view, int position) { //条目点击事件
Toast.makeText(context, "点击"+position, Toast.LENGTH_SHORT).show();
}
});
//条目长按
adapter.setOnItemLongClickListener(new KeHuAdapter.OnItemLongClickListener() {
@Override
public void onItemLongClick(View view, int position) {
Toast.makeText(context, "长按"+position, Toast.LENGTH_SHORT).show();
}
});