我已经研究了以下问题2天,但没有白费。这是我第一次在这里发帖所以请耐心等待:)
问题:我的setOnChildClickListener
(在Activity
内ExpandableListView
)收到整个ViewHolder
作为View
参数,而不是点击的特定小部件。这使我的Activity
对ViewHolder
内点击的内容毫无头绪。
换句话说,如果用户点击项目中的任何小部件,只要小部件在适配器中没有setOnChildClickListener
设置,onclicklistener
就会被激活。
我使用ViewHolder,因为它建议用于缓存目的。它位于ExpandableListView
适配器中并且有一堆字段,如下所示:
private class ViewHolder {
ImageView image1;
TextView tvImageNumber;
LinearLayout tvLayoverImage;
//and many more
}
我的问题是,如何让Activity
知道在ViewHolder
内点击了哪个确切元素,以便我可以执行具体操作,例如调出Fragment
?
注意:
1)我的适配器正在完成大部分工作,包括为大多数视图设置onclicklistener,除了这个 2)我想这样做以确保我的活动处理片段,而不是适配器
如果有必要,我很乐意提供更多详细信息。
提前谢谢!!