为什么RecyclerView中的按钮OnClickListener不起作用?

时间:2015-10-25 06:21:04

标签: android onclick android-recyclerview android-imagebutton

我有一个RecyclerView,其中每个CardView只有buttons。 以下是onClick。{/ p>中RecyclerView项的代码

lvOffers.addOnItemTouchListener(new RecyclerItemClickListener(getContext(), new RecyclerItemClickListener.OnItemClickListener() {
        @Override
        public void onItemClick(View view, int position) {
            String hisId = listOfOffers.get(position).getUserIdHis();
            selectedPosition = position;
            status = listOfOffers.get(position).getStatus();
            dateUpdated = listOfOffers.get(position).getLastUpdateDate();
            currentOfferId = listOfOffers.get(position).getOfferId();
            new GetUserPosts().execute(hisId);
        }
    }));

但是当我在onClick中添加按钮Adapter的代码时,它不会被调用而是调用ItemTouchListener

holder.ivPrimaryImageOfferFew1.setOnClickListener(new View.OnClickListener()     {
            @Override
            public void onClick(View v) {
                Toast.makeText(context,"clicked",Toast.LENGTH_SHORT).show();
            }
        });

2 个答案:

答案 0 :(得分:0)

如果你需要两者兼顾。删除OnItemCLickListener并将onClickListener写入视图的Root视图。

答案 1 :(得分:0)

如果您正在使用

android:focusable="true" 
android:focusableInTouchMode="true"

删除它,会导致点击问题。

rvExpertbooksList.addOnItemTouchListener(
                new RecyclerItemClickListener(ExpertBooksDetailsActivity.this, new RecyclerItemClickListener.OnItemClickListener() {
                    @Override
                    public void onItemClick(View view, int position) {

                    }
                })
        );

删除addOnItemTouchListener的{​​{1}};它工作正常