当我将onClick侦听器设置为子视图时,SwipeFlingAdapterView无法滑动

时间:2016-11-03 08:11:45

标签: android android-viewpager onclicklistener baseadapter

我很难找到正确的答案,所以我会尝试更详细地解释我的问题。

所以,我有一些使用SwipeFlingAdapterView的火种应用。在其中,我有一个适配器,在中间保存一些textview和imageview。我需要启用单击该图像才能打开产品详细信息,但是当我将onClick监听器附加到它时,我无法在我的图像视图上拖动手指。只有当我开始在imageview之外拖动时。

这是我的TinderAdapter中的ViewHolder:

private static class ViewHolder {

    ImageView image;
    TextView textViewTitle;
    TextView textViewSubtitle;
    OnTinderItemClickListener mListener;

    public ViewHolder(OnTinderItemClickListener listener) {
        this.mListener = listener;
    }
}

这是适配器的getView方法:

ViewHolder viewHolder;

    if (convertView == null) {
        viewHolder = new ViewHolder(mListener);
        convertView = LayoutInflater.from(mContext).inflate(R.layout.list_item_wishlist_tinder, parent, false);

        viewHolder.image = (ImageView) convertView.findViewById(R.id.list_item_image);
        viewHolder.textViewTitle = (TextView) convertView.findViewById(R.id.list_item_title);
        viewHolder.textViewSubtitle = (TextView) convertView.findViewById(R.id.list_item_subtitle);
        convertView.setTag(viewHolder);
    } else {
        viewHolder = (ViewHolder) convertView.getTag();
    }

    final FeedItem item = mData.get(position);

    viewHolder.textViewTitle.setText(item.getTitle());
    viewHolder.textViewSubtitle.setText(item.getDetail());
    viewHolder.image.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            mListener.onItemClick(item);
        }
    });

所以,这个onClick监听器让我遇到了问题..任何想法如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

ImageView消耗了触摸事件,你必须覆盖它onTouchEvent