在“我的列表”中,我的项目内部有一个按钮,当前,每当我尝试单击该按钮时,它也会触发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并在此处执行项目单击逻辑。

10-08 16:50