这是我的layout.xml:
<ScrollView
android:id="@+id/scroll_view"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<ListView
android:id="@+id/list_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="4dp"
android:cacheColorHint="@android:color/transparent"
android:divider="@null"
android:dividerHeight="0dp" />
<HorizontalScrollView
android:id="@+id/h_scroll_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="4dp">
<LinearLayout
android:id="@+id/nest_list_view_container"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:orientation="horizontal">
</LinearLayout>
</HorizontalScrollView>
</LinearLayout>
</ScrollView>
有2个列表视图。
第一个列表视图是list_view
;
第二个列表视图在LinearLayout(nest_list_view_container
)中动态添加。
第一个ListView将与setOnTouchListener
方法一起正常工作,
但第二个ListView无法使用相同的方法滚动,只响应点击事件。
答案 0 :(得分:1)
使用recyclerview而不是listview,并使用此代码顺利移动recyclerview:
with tb(ID,Site,[Date]) AS(
select '1A','A','10/12/16' union all
select '1A','B','11/12/16' union all
select '2A','A','10/12/16' union all
select '3A','A','09/12/16' union all
select '3A','B','09/12/16' union all
select '4A','A','11/12/16' union all
select '5A','A','11/12/16' union all
select '5A','B','11/12/16' union all
select '6A','A','09/12/16' union all
select '6A','B','10/12/16')
select * from (
SELECT *, count(0)OVER (PARTITION BY ID, Date) AS SameDateCount
FROM tb
) as t where t.site='A' OR t.SameDateCount>1
我也喜欢使用:
android:nestedScrollingEnabled="false"
在这种情况下
答案 1 :(得分:1)
绝对可以在scrollview中添加listview或recyclerview 因为我在我的项目中多次使用它。 一个例子:
<android.support.v4.widget.NestedScrollView
android:id="@+id/activity_Recipe_detail_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">
<LinearLayout
android:id="@+id/activity_Recipe_detail_content_container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:orientation="vertical">
<android.support.v7.widget.CardView
android:id="@+id/activity_Recipe_detail_hashtag_card"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="@dimen/recipe_detail_card_margin_top"
android:layout_marginLeft="32dp"
android:layout_marginRight="32dp"
android:layout_marginTop="@dimen/recipe_detail_card_margin_top"
app:cardBackgroundColor="@android:color/white"
app:cardCornerRadius="@dimen/radius_recipe_detail_card"
app:cardElevation="1dp"
app:contentPadding="16dp">
<android.support.v7.widget.RecyclerView
android:id="@+id/activity_Recipe_detail_hashtag_list"
android:layout_width="match_parent"
android:layout_height="wrap_content"
tools:listitem="@layout/hashtag" />
</android.support.v7.widget.CardView>
</LinearLayout>
</LinearLayout>
</android.support.v4.widget.NestedScrollView>
答案 2 :(得分:0)
你永远不应该将ListView保留在ScrollView内。在动态更新列表时,ListView本身可滚动。移动ListView上方的任何ViewGroup,然后重试。