TabHost внутри ScrollView устанавливает фокус на контент и прокручивает

У меня есть фрагмент, который содержит много информации (статьи) с вкладкой внизу с другими статьями в виде пары listViews. Проблема в том, что когда я выбираю вкладки, мой scrollView прокручивается, чтобы охватить список (на самом деле просто прокручивайте все, чтобы первый элемент списка был первым на экране), чего я не хочу.

Мне нужны listViews внутри ScrollView, потому что есть много информации для отображения + дополнительные связанные статьи и тому подобное, а макет намного длиннее экрана. Я решил проблему просмотра списков внутри прокрутки, просто не могу понять, как отключить настройку фокуса при нажатии на вкладку.

вот мой макет:

<ScrollView
    android:id="@+id/category_scroll"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical" >

        <ImageView
            android:id="@+id/imageView1"
            android:layout_width="match_parent"
            android:layout_height="130dp"
            android:src="@drawable/currency_flag_eur" />

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content" >

            <ImageView
                android:id="@+id/imageView2"
                android:layout_width="wrap_content"
                android:layout_height="match_parent"
                android:layout_weight="0.24"
                android:src="@drawable/currency_flag_eur" />

            <ImageView
                android:id="@+id/imageView3"
                android:layout_width="wrap_content"
                android:layout_height="90dp"
                android:layout_weight="0.29"
                android:src="@drawable/currency_flag_eur" />
        </LinearLayout>

        <include layout="@layout/ticker" />

        <TabHost
            xmlns:android="http://schemas.android.com/apk/res/android"
            android:id="@android:id/tabhost"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:padding="10dp" >

            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:orientation="vertical" >

                <TabWidget
                    android:id="@android:id/tabs"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:orientation="horizontal" />

                <FrameLayout
                    android:id="@android:id/tabcontent"
                    android:layout_width="fill_parent"
                    android:layout_height="wrap_content"
                    android:layout_weight="0" >

                    <ListView
                        android:id="@+id/category_top_news"
                        android:layout_width="fill_parent"
                        android:layout_height="wrap_content">
                    </ListView>

                    <ListView
                        android:id="@+id/category_most_read"
                        android:layout_width="fill_parent"
                        android:layout_height="wrap_content">
                    </ListView>

                    <ListView
                        android:id="@+id/category_facebook"
                        android:layout_width="fill_parent"
                        android:layout_height="wrap_content" >
                    </ListView>
                </FrameLayout>
            </LinearLayout>
        </TabHost>
    </LinearLayout>
</ScrollView>

person stef    schedule 17.06.2012    source источник


Ответы (1)


Если кто-то блуждал, я решил свою проблему, поэтому я установил свои списки внутри себя.

setFocusable(false)

и перестали дергаться.

person stef    schedule 21.06.2012