我有一个包含很多元素的 ScrollView
ScrollView scroller = (ScrollView)findViewById(R.id.scrollView);
我需要将 onClickListener 附加到 ScrollView ,所以我这样做
scroller.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// This is all you need to do to 3D flip
AnimationFactory.flipTransition(viewAnimator, FlipDirection.LEFT_RIGHT);
}
});
但是当我触摸时这不会被触发。有什么想法吗?
最佳答案
最好的解决方案似乎是将 LinearLayout
放入 ScrollView
中,并在其上设置 setOnClickListener
。
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/myLayout"
android:clickable="true"
android:orientation="vertical">
<!-- content here -->
</LinearLayout>
</ScrollView>
在 Activity 中:
LinearLayout lin = (LinearLayout) fragment.rootView.findViewById(R.id.myLayout);
lin.setOnTouchListener(new setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
// Whatever
}
});
关于android - ScrollView 上的 OnClickListener,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16776687/