1 回答

TA貢獻(xiàn)1876條經(jīng)驗(yàn) 獲得超6個(gè)贊
RecyclerView 的適配器不負(fù)責(zé)重定向到另一個(gè)片段。
像這樣創(chuàng)建界面
public interface OnItemClickListener {
void onItemClicked(int position)
}
在 RecyclerView 的適配器中添加方法:
public class YourAdapterName extend RecyclerView.Adapter...
private OnItemClickListener onItemClickListener
void setOnItemClickListener(OnItemClickListener listener) {
onItemClickListener = listener
}
...
@Override
public void onBindViewHolder(@NonNull final CoordinatesViewHolder holder, int position) {
final Coordinates coord = mCoordinates.get(position);
holder.place_name.setText(coord.getmUPlaceName());
holder.view.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(onItemClickListener != null) {
onItemClickListener.onItemClicked(position)
}
}
});
}
在帶有回收器的片段中,在設(shè)置適配器的地方添加代碼:
YourAdapterClassName adapter = new YourAdapterClassName(...init adapter...)
adapter.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClicked(int position) {
//Navigate here
}
})
yourRecyclerName.setAdapter(adapter)
希望它會(huì)有所幫助)
添加回答
舉報(bào)