【发布时间】:2019-02-20 13:15:33
【问题描述】:
我想要完成的是为 RecyclerView 行内的ImageView 创建一个侦听器。
这段代码已经可以工作了,但这不是我想要的解决方案,因为您需要双击ImageView才能获得所需的结果。
// row click listener
recyclerView.addOnItemTouchListener(new RecyclerTouchListener(getApplicationContext(), recyclerView, new RecyclerTouchListener.ClickListener() {
@Override
public void onClick(View view, final int position) {
ImageView viewContent = (ImageView)view.findViewById(R.id.btnViewContent);
ImageView deleteContent = (ImageView)view.findViewById(R.id.btnDeleteContent);
viewContent.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(getApplicationContext(), "VIEW CONTENT", Toast.LENGTH_SHORT).show();
}
});
deleteContent.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(getApplicationContext(), "DELETE CONTENT", Toast.LENGTH_SHORT).show();
}
});
}
@Override
public void onLongClick(View view, int position) {}
}));
知道如何将其转化为单击解决方案吗?建议甚至是一条评论都会对我有很大帮助。
【问题讨论】:
-
在适配器内添加点击监听
-
在onbindviewholder的viewholder项中添加clicklistener
-
如果你想点击行内的Imageview,那么只需在适配器类的onBindViewHolder方法中获取该imageview的点击事件。对于这个问题,你不必采取recyclerview的点击事件。跨度>
标签: java android android-recyclerview onitemclicklistener