Scrollview 不使用 2 listview 滚动
Posted
技术标签:
【中文标题】Scrollview 不使用 2 listview 滚动【英文标题】:Scrollview doesn't scroll with 2 listview 【发布时间】:2016-06-23 18:06:23 【问题描述】:我搜索了很多关于滚动视图的主题,但没有人可以解决我的问题:/ 如果有人可以帮助我:) 当我从服务器发出请求时,每个列表视图都会打印一些人 通常,当我向下滚动列表时,第二个列表会出现,但不会出现
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/tools"
android:layout_
android:layout_
android:background="@drawable/selector_for_background_white"
android:orientation="vertical">
<ScrollView
android:id="@+id/scrollView"
android:layout_
android:layout_
android:background="@drawable/selector_for_background_white"
android:fillViewport="true">
<LinearLayout
android:layout_
android:layout_>
<LinearLayout
android:id="@+id/layoutScrollResult"
android:layout_
android:layout_
android:orientation="vertical">
<RelativeLayout
android:layout_
android:layout_
android:background="@drawable/selector_for_background_white">
<LinearLayout
android:id="@+id/layout2"
android:layout_
android:layout_
android:orientation="horizontal">
<com.whask.whask.utils.font.FontTextView
android:id="@+id/text_hot"
android:layout_
android:layout_
android:layout_centerVertical="true"
android:layout_gravity="center"
android:layout_marginLeft="10dp"
android:layout_marginStart="10dp"
android:background="@android:color/transparent"
android:text="5 HOT"
android:textSize="@dimen/abc_text_size_medium_material"
app:font="Neo-Sans-Std-Medium.otf"/>
</LinearLayout>
<ListView
android:id="@+id/result_whask_listview_view"
android:layout_
android:layout_
android:layout_below="@+id/layout2">
</ListView>
<LinearLayout
android:id="@+id/layout3"
android:layout_
android:layout_
android:layout_below="@+id/result_whask_listview_view"
android:orientation="horizontal">
<com.whask.whask.utils.font.FontTextView
android:id="@+id/text_not"
android:layout_
android:layout_
android:layout_centerVertical="true"
android:layout_gravity="center"
android:layout_marginLeft="10dp"
android:layout_marginStart="10dp"
android:background="@android:color/transparent"
android:text="2 NOT"
android:textSize="@dimen/abc_text_size_medium_material"
app:font="Neo-Sans-Std-Medium.otf"/>
</LinearLayout>
<ListView
android:id="@+id/result_whask_listview_view_no"
android:layout_
android:layout_
android:layout_below="@+id/layout3"
android:background="@color/my_whask_white_color">
</ListView>
</RelativeLayout>
</LinearLayout>
</LinearLayout>
</ScrollView>
</LinearLayout>
【问题讨论】:
你不应该使用滚动视图和列表视图,因为列表视图有它自己的滚动。而不是使用列表视图在线性或框架布局中膨胀您的项目。通过这种方式,您可以轻松实现包装内容功能,因为列表视图无法正常使用包装内容 你想在滚动视图中滚动列表视图吗? @Mavrick Rmx 如果我不使用 ScrollView,我的 2 FontTextView 将不会滚动,而我的第二个 listview 停留在底部,我看不到这些元素,我需要我的 FontTextView 也滚动@VivekMishra 我并不是说你不应该使用滚动视图。我是说不要在滚动视图中使用列表视图。 是的,这就是我想要的,然后我在屏幕底部的 listView 可以替换第一个 listview @Rushabh042 【参考方案1】:如果你想在 Scrollview 中滚动列表视图,那么就这样做吧。
ListView result_whask_listview_view;
result_whask_listview_view = (ListView)findViewById(R.id.result_whask_listview_view);
result_whask_listview_view.setOnTouchListener(new ListView.OnTouchListener()
@Override
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;
);
这样你可以在滚动视图中滚动列表视图。
希望对你有帮助:)
【讨论】:
【参考方案2】:Listview 有自己的滚动属性,所以不要在滚动视图中使用... 谢谢
【讨论】:
【参考方案3】:请勿在ScrollView
中使用ListView
。 ListView
本身具有滚动属性,您不必使用另一个 ScrollView
使其滚动。请改用LinearLayout
。
【讨论】:
以上是关于Scrollview 不使用 2 listview 滚动的主要内容,如果未能解决你的问题,请参考以下文章
求助scrollview嵌套viewpager 放listview 不能滑动
android scrollview 嵌套listview 不滑动