|
|
@@ -17,9 +17,11 @@ import java.util.List;
|
|
|
|
|
|
public class ExampleAdapter extends RecyclerView.Adapter<ExampleAdapter.ViewHolder> {
|
|
|
|
|
|
- private AsyncListDiffer<ExampleBean> listDiffer;
|
|
|
+ private final AsyncListDiffer<ExampleBean> listDiffer;
|
|
|
private final LifecycleOwner lifecycleOwner;
|
|
|
|
|
|
+ private OnItemClickListener onItemClickListener;
|
|
|
+
|
|
|
public ExampleAdapter(LifecycleOwner lifecycleOwner) {
|
|
|
this.lifecycleOwner = lifecycleOwner;
|
|
|
listDiffer = new AsyncListDiffer<>(this, new DiffUtil.ItemCallback<ExampleBean>() {
|
|
|
@@ -35,6 +37,10 @@ public class ExampleAdapter extends RecyclerView.Adapter<ExampleAdapter.ViewHold
|
|
|
});
|
|
|
}
|
|
|
|
|
|
+ public void setOnItemClickListener(OnItemClickListener onItemClickListener) {
|
|
|
+ this.onItemClickListener = onItemClickListener;
|
|
|
+ }
|
|
|
+
|
|
|
@NonNull
|
|
|
@Override
|
|
|
public ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
|
|
|
@@ -68,10 +74,21 @@ public class ExampleAdapter extends RecyclerView.Adapter<ExampleAdapter.ViewHold
|
|
|
super(binding.getRoot());
|
|
|
this.binding = binding;
|
|
|
this.binding.setLifecycleOwner(lifecycleOwner);
|
|
|
+ binding.getRoot().setOnClickListener(v -> {
|
|
|
+ if (onItemClickListener != null) {
|
|
|
+ onItemClickListener.onItemClick(binding.getBean());
|
|
|
+ }
|
|
|
+ });
|
|
|
}
|
|
|
|
|
|
public void bind(ExampleBean itemBean) {
|
|
|
-
|
|
|
+ binding.setBean(itemBean);
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+
|
|
|
+ public interface OnItemClickListener {
|
|
|
+ void onItemClick(ExampleBean itemBean);
|
|
|
+ }
|
|
|
+
|
|
|
}
|