为Viewpager中的视图设置OnTouchListener可防止viewpager滚动

时间:2015-08-05 08:29:40

标签: android android-viewpager ontouchlistener

我在viewpager中有一个textview。我在文本视图中添加了一个功能,这样用户可以保持textview隐藏,并在释放触摸后显示。

autoResizeTextView.setOnLongClickListener(new OnLongClickListener() {
            public boolean onLongClick(View arg0) {
                arg0.setVisibility(View.INVISIBLE);

                return true;    // <- set to true
            }
        });

     autoResizeTextView.setOnTouchListener(new OnTouchListener() {

            @Override
            public boolean onTouch(View v, MotionEvent event) {
                // TODO Auto-generated method stub

                if (event.getAction() == MotionEvent.ACTION_UP || event.getAction() == MotionEvent.ACTION_CANCEL) {

                    v.setVisibility(View.VISIBLE);

                 }


                return false;
            }
        });

但这个禁用的viewpager正在滚动。如何在viewpager滚动时禁用textview的触摸侦听器?

我已将textview的高度和宽度设置为fillparent btw。

1 个答案:

答案 0 :(得分:1)

如果要禁用侦听器,可以将其从TextView中删除,或者设置一个布尔标志,使其忽略所有事件。 Gmail copy pasting in body接口应允许您使用onPageScrollStateChanged()确定ViewPager的滚动状态 - 如果状态不是SCROLL_IDLE,则应禁用TextView侦听器。