

ScrollViewをRootとしたActivityにViewPagerを使用し、  
以下のような、Topのカバー画像 + 横スクロールできるページをつくろうとしております。

ページ部分のFragmentは、ListViewでつくられており、コンテンツをリスト形式で表示するようにしているのですが、ListViewにてnotifyDataSetChange()を呼んだときに画面全体が最下部までスクロールされてしまいます。  
また、ViewPagerのsetCurrentItem()を呼んだ際も同様に最下部までスクロールしてしまいます。

本事象について、有効な手段をご存じの方がいらっしゃいましたらご教示ください。

[code]

     -----------------
     | toolbar       |
     -----------------
     | Cover         |
     |               |
     |               |
     -----------------
     | tab           |
     -----------------
     | Fragment *4   |
     |               |
     |               |
     -----------------
    
[/code]

■ Activityのlayout

[code]

    <?xml version="1.0" encoding="utf-8"?>
    <ScrollView
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="wrap_content">
    
        <View
            android:id="@+id/header_content"
            android:layout_width="match_parent"
            android:layout_height="100dp"/>
    
        <ViewPager
            android:layout_width="match_parent"
            android:layout_height="640dp"/>
    </ScrollView>
    
[/code]

■ Fragmentのlayout

[code]

    <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
                 android:layout_width="match_parent"
                 android:layout_height=“640dp">
    
    <ListView
        android:id="@+id/list_view"
        android:layout_width="match_parent"
        android:layout_height=“640dp"
        android:clipToPadding="false"
        android:divider="@null"
        android:dividerHeight="0dp"
        android:fadingEdge="none"
        android:fastScrollEnabled="true"
        android:listSelector="@android:color/transparent"
        android:scrollbars="none"/>
    
    <View
        android:id="@+id/no_match_view"
        android:layout_width="match_parent"
        android:layout_height="match_parent"/>
    </FrameLayout>
    
[/code]


CC BY-SA 3.0
2015-02-18T14:45:04.467
6706
2015-08-18T08:14:18.660
944
question
android
ScrollViewの中にListViewを入れた時に、ListViewの更新時に最下部までスクロールしてしまう


ScrollViewの中身がLinerLayoutに入っていないのが謎です。  
LinerLayoutに入れれば解決しそうですが・・・。

あとtabとFragmentを表示するためのViewがないのは省略しているからでしょうか？


CC BY-SA 3.0
2015-02-19T05:18:21.710
6731
2015-02-19T05:25:40.077
2015-02-19T05:25:40.077
8314
8314
6706
answer