ScrollView嵌套Listview,scrollview总是滚动到listview的位置

来源:互联网 发布:加湿器 品牌 知乎 编辑:程序博客网 时间:2024/05/17 04:40

在项目中,跳转fragment导致ScrollView自动滚到到嵌套的Listview的位置。
查了一些解决方法

在父布局中比listview先获取界面的焦点

android:focusable="true" android:focusableInTouchMode="true"

完整代码:

<ScrollViewandroid:id="@+id/person_sv"android:background="@color/white"android:layout_width="fill_parent"android:layout_height="fill_parent"><LinearLayout    android:orientation="vertical"    android:background="@color/white"    android:layout_width="fill_parent"    android:focusable="true"    android:focusableInTouchMode="true"    android:layout_height="wrap_content">    <ListView        android:id="@+id/person_kecheng_mlv"        android:layout_width="fill_parent"        android:divider="@color/white"        android:dividerHeight="@dimen/chicun_henxiao"        android:layout_height="wrap_content"/></LinearLayout></ScrollView>

此时跳转fragment时,默认在顶部,但是只要移动了ScrollView,再跳转fragment又会自动滚到到listview。
此时问题的核心是焦点问题,那么是否是跳转fragment时,listview自动获取了焦点,此时又在布局中加入listview禁止获取焦点。

android:focusable="false" android:focusableInTouchMode="false"

还是没有解决,没有任何效果。
最后在代码中,禁止listview获取焦点,如下

listview.setFocusable(false);listview.setFocusableInTouchMode(false);listview.requestFocus();
0 0