Как прокрутить программно ScrollView? - PullRequest
0 голосов
/ 08 января 2010

У меня небольшая проблема с ScrollView. У меня есть макет для деятельности, которая сделана с помощью ScrollView. Этот вид прокрутки содержит два ListViews.

<?xml version="1.0" encoding="utf-8"?>

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/rootViewGroup" android:layout_width="fill_parent"
android:layout_height="wrap_content" android:scrollbars="vertical">

<LinearLayout android:orientation="vertical"
    android:gravity="top" android:layout_width="fill_parent"
    android:layout_height="wrap_content" android:background="@drawable/cmb_bg">

    <ListView android:id="@+id/accountsListView"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" android:scrollbars="none" />

    <ListView android:id="@+id/cardsListView"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" android:scrollbars="none" />

</LinearLayout>

В методе onCreate моей деятельности я вычисляю высоту ListViews в соответствии с их содержимым.

Во время выполнения при запуске активности ScrollView уже немного прокручивается.

Итак, я попытался в конце onCreate вызвать метод scrollTo(0, 0), но это ничего не меняет.

Есть идеи?

1 Ответ

6 голосов
/ 08 января 2010

AHHH !!! Удалите ScrollView и оставьте только ОДИН ListView в вашей деятельности. Он не предназначен для работы таким образом .Если вы хотите, чтобы в вашем ОДНОМ списке отображалось другое содержимое - измените свой адаптер или измените пользовательский интерфейс. Но никогда не размещайте разные прокручиваемые контейнеры на одном экране / внутри друг друга вот соответствующий пост. http://groups.google.com/group/android-developers/browse_thread/thread/e7c8df374fe31733# Теоретически вы можете щелкнуть два списка на экране, но ожидать, что все будет странно. И я бы действительно изменил его с помощью разделителей или расширителей или только с одним ListView.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...