HorizontalScrollView 点击事件无响应问题

RecycleView中的每一个Item都能点击跳转不同页面,然后每个item中的一部分要实现横向滚动,所以我加了HorizontalScrollView (只能有一个子View)。
但是点击scrollview内容时无法跳转页面了,这是由于子View获取到了焦点造成的。
解决方案:convert中,获取子view id并设置helper.getAdapterPosition() position监听
recycleView adapter:

public class RecycleViewAdapter extends BaseQuickAdapter {

    private OnItemClickListener mOnItemClickListener;

    public RecycleViewAdapter(@LayoutRes int layoutResId, List data) {
        super(layoutResId, data);

    }

    @Override
    protected void convert(BaseViewHolder helper,ListBean item) {
        helper.setText(R.id.tv_address, item.address());              
        helper.getView(R.id.tv_address).setOnClickListener((View v)->{mOnItemClickListener.onClick(helper.getAdapterPosition());});
    }

    @Override
    public void onBindViewHolder(BaseViewHolder viewHolder, final int position) {
        super.onBindViewHolder(viewHolder, position);
        if (mOnItemClickListener != null) {
            viewHolder.itemView.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    mOnItemClickListener.onClick(position);
                }
            });
        }
    }

    public interface OnItemClickListener {
        void onClick(int position);
    }

    public void setOnItemClickListener(OnItemClickListener onItemClickListener) {
        this.mOnItemClickListener = onItemClickListener;
    }

}

你可能感兴趣的:(Android)