Alg*_*der 8 java android onitemclicklistener android-recyclerview
我已经从这个Stack溢出解决方案中实现了Recyclerview onclickListener .此解决方案适用于回收商项目点击.但我无法从行中单击哪个子视图(例如:ImageView,Button).
mAttachmentRecyclerview.addOnItemTouchListener(
new RecyclerItemClickListener(getApplicationContext(), new RecyclerItemClickListener.OnItemClickListener() {
@Override
public void onItemClick(View view, int position) {
if (view.getId()==R.id.attachmnet_remove) {
attachmentsList.remove(position);
mAttachmentAdapter.notifyDataSetChanged();
attachmentCount--;
}
}
}
));
Run Code Online (Sandbox Code Playgroud)
onItemClick(view,position)始终将视图ID返回为-1
如何跟踪点击的视图?
下面是一个ViewHolder包含两个文本视图即.title并且description:
public class CustomViewHolder extends RecyclerView.ViewHolder {
private final OnViewClickListener mListener;
public final TextView title;
public final TextView description;
public interface OnViewClickListener {
void onViewClick(View v, int adapterPosition);
}
public CustomViewHolder(View itemView, OnViewClickListener mListener) {
super(itemView);
this.mListener = mListener;
title = (TextView) itemView.findViewById(R.id.titleTextView);
description = (TextView) itemView.findViewById(R.id.descriptionTextView);
title.setOnClickListener(onClickListener);
description.setOnClickListener(onClickListener);
}
private final View.OnClickListener onClickListener = new View.OnClickListener() {
@Override
public void onClick(View view) {
mListener.onViewClick(view, getAdapterPosition());
}
};
}
Run Code Online (Sandbox Code Playgroud)
这两个子视图都OnClickListener附加了它们,它们调用自定义OnViewClickListener实现,传递View被单击的内容以及接收click事件的适配器中项目的位置 .RecyclerView
最后用于View.getId()在OnViewClickListener实现中检索单击视图的id .
| 归档时间: |
|
| 查看次数: |
7853 次 |
| 最近记录: |