我有以下问题。在我的布局上,我有一个带fillViewport="true"
的ScrollView。在里面,我有一个可点击的LinearLayout(反过来,里面有4个视图)。似乎我的ScrollView拦截了LinearLayout的onClick。我的代码是这样的:
<ScrollView
android:id="@+id/signup_scrollview"
android:layout_marginTop="56dp"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:clickable="false"
android:fillViewport="true">
....
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@+id/toolbar_actionbar">
....
<LinearLayout
android:id="@+id/add_product_button"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:clickable="true"
android:focusable="true"
android:focusableInTouchMode="true"
android:orientation="horizontal">
....
</LinearLayout>
</RelativeLayout>
</ScrollView>
我试图实施onInterceptTouchEvent(MotionEvent e)
;在我的ScrollView上但无济于事。有人可以指导我如何解雇我的LinearLayout onClick吗?感谢。
答案 0 :(得分:1)
您已在根标记中停用了点击次数,请参阅android:clickable="false"
中的<ScrollView>
,这样您无法点击LinearLayout
。
从android:clickable="false"
<ScrollView>
将android:clickable="true"
添加到LinearLayout
和
java文件中的 layout.setClickable(true);
。
答案 1 :(得分:1)
只需在线性布局标签内写下
即可 android:onClick="onClick"
并在你的java代码中
public void onClick(View v) {
if(v.getId()==R.id.add_product_button){
// do your code here
System.out.println("Layout click");
}
}