我在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>