我正在尝试在滚动视图下添加列表视图,以便我可以滚动整个页面以及列表视图,但是当我的整个页面滚动时,我的列表视图不滚动。
这是我的XML:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/gray">
<ScrollView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@+id/toolbar"
android:background="@color/white">
<LinearLayout
android:id="@+id/layout_form"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<android.support.v4.view.ViewPager
android:id="@+id/viewPager"
android:layout_width="match_parent"
android:layout_height="200dp"
android:layout_marginBottom="5dp"
android:background="@color/trans_white"/>
<ListView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/list_prdt_detail"
android:divider="@color/white"
android:layout_marginBottom="50dp"
android:scrollbars="vertical"/>
</LinearLayout>
</ScrollView>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:weightSum="2"
android:layout_gravity="center"
android:gravity="center"
android:layout_alignParentBottom="true">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="ADD TO CART"
android:background="@color/orange"
android:layout_weight="1"
android:layout_gravity="center"
android:gravity="center"
android:padding="20dp"
android:textColor="@color/white"
android:fontFamily="sans-serif"/>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="BUY NOW"
android:background="@color/red"
android:layout_weight="1"
android:layout_gravity="center"
android:gravity="center"
android:padding="20dp"
android:textColor="@color/white"
android:fontFamily="sans-serif"/>
</LinearLayout>
</RelativeLayout>
这是我的java:
listAdapter = new
AdapterProddetail(Productdetail.this,al_prod_id,
al_prod_image,al_prod_name,al_prod_price,
al_prod_disc,al_prod_discount,al_prod_stock,al_prod_cc);
list_prdt_detail.setAdapter(listAdapter);
list_prdt_detail.setOnItemClickListener(this);
list_prdt_detail.setOnTouchListener(new
ListView.OnTouchListener() {
public boolean onTouch(View v, MotionEvent event) {
int action = event.getAction();
switch (action) {
case MotionEvent.ACTION_DOWN:
// Disallow ScrollView to intercept touch
events.
v.getParent().requestDisallowInterceptTouchEvent(true);
break;
case MotionEvent.ACTION_UP:
// Allow ScrollView to intercept touch events.
v.getParent().requestDisallowInterceptTouchEvent(false);
break;
} // Handle ListView touch events.
v.onTouchEvent(event);
return true;
}
});
我添加了java代码,它将禁止滚动拦截但仍然列出视图不滚动。请帮助我克服这种情况。
答案 0 :(得分:2)
请勿在{{1}}内使用ListView
。使用ScrollView
代替NestedScrollView
。
或
您可以将ScrollView
设置为android:nestedScrollingEnabled="true"
试试这个:
ListView
希望这会有所帮助〜
答案 1 :(得分:1)
在您的代码中,v.getParent()
是指LinearLayout
而不是ScrollView
。
使用v.getParent().getParent()
。
另外,正如#Ferdous Ahamed所提到的,你应该使用NestedScrollView而不是ScrollView