使用checktextviews在ScrollView上进行手势检测

时间:2014-11-10 01:27:51

标签: android gesture

我在ScrollView上设置了OnTouchListener,其中包含CheckTextView对象列表。如果我在CTV中刷卡,我什么也得不到。如果我在CTV下方滑动,我会得到UP和DOWN事件。如果我点击CTV,我就会点击。

这就是我所拥有的:

   View.OnTouchListener touchListener = new View.OnTouchListener() {
        public boolean onTouch(View v, MotionEvent event) {
            switch (event.getAction()) {
                case MotionEvent.ACTION_DOWN:
                    Log.d(TAG, "Down:"+event);
                case MotionEvent.ACTION_UP:
                    Log.d(TAG, "Up:"+event);
                default:
                    break;
            }
            return false;
        }
    };

    View.OnClickListener clickListener = new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Log.d(TAG, "Click!");
        }
    };

    findViewById(R.id.scrollView).setOnTouchListener(touchListener);

    findViewById(R.id.chkTxt01).setOnClickListener(clickListener);
    + 6 more setOnClickListeners

在activity_main中:

<ScrollView
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/scrollView"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical">

        <CheckedTextView
            android:id="@+id/chkTxt01"
            android:clickable="false"
            android:focusable="false"
            android:checkMark="?android:attr/listChoiceIndicatorMultiple"
            android:text="@string/random_text"
            android:layout_width="match_parent"
            android:layout_height="wrap_content" />

       + 6 more CheckedTextViews

    </LinearLayout>
</ScrollView>

0 个答案:

没有答案