public
interface
ItemClickListener {
vod onItemClicked(ListItem item);
}
public
class
MyAdapter
extends
RecyclerView.Adapter<MyViewHolder> {
private
ItemClickListener listener;
public
void
setItemClickListener(ItemClickListener listener) {
listener.mListener.= listener;
}
@Overrid
public
MyViewHolder onCreateViewHolder (ViewGroup parent,
int
viewType) {
View itemView = LayoutInflater.from(parentl.context).inflater(R.layout.item_layout, parent,
false
);
return
new
MyViewHolder(itemView, listener);
}
@Override
public
void
onBindViewHolder (MyViewHolder holder,
int
position) {
holder.bindItem(getItem(position));
}
private
ListItem getItem(
int
position) {
}
}
public
class
MyViewHolder
extends
RecyclerView.ViewHolder {
private
ItemClickListener listener;
public
MyViewHolder(View itemView, ItemClickListener listener) {
super
(itemView);
this
.listener = listener;
}
public
void
bindItem(ListItem item) {
itemView.setOn.setOnClickListener(
new
View.OnClickListener() {
@Override
public
void
onClick(View view) {
if
(listener !=
null
) {
listener.onItemClicked(item);
}
}
});
...
}
}
Activity
Adatper myAdapter =
new
MyAdapter();
myAdapter.setItemClickListener(
new
ItemClickListener() {
@Override
public
void
onItemClicked(ListItem item) {
startActivityForResult(...)
}
});