在“我的列表”中,我的项目内部有一个按钮,当前,每当我尝试单击该按钮时,它也会触发onItemClick。下面的代码在getView内部
holder.btnAdd.setTag(tg);
holder.btnAdd.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
int id = v.getId();
Toast.makeText(getParent().getActivity(), "clicked this button",Toast.LENGTH_LONG).show();
});
这是onItemClick,它位于适配器之外。
HorizontalListView hlv = (HorizontalListView) view
.findViewById(R.id.gallery);
GalleryAdapter ga = new GalleryAdapter(offerItemDetailsFragment,
result);
ga.setListView(hlv);
hlv.setAdapter(ga);
hlv.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
RelatedOffer relOffer = (RelatedOffer) parent.getAdapter().getItem(position);
...
}
});
最佳答案
如果没有内部效果,则不能将OnItemClickListener
用于具有内部可点击元素的列表。而是尝试在行的根布局中添加OnClickListener
并在此处执行项目单击逻辑。