Прокрутка в ViewSwitcher с двумя TextViews

Я использую свой собственный ViewSwitcher. Он содержит два TextView с одинаковыми параметрами макета.

Вот часть моего макета:

<MyViewSwitcher
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:id="@+id/textSwitcher"
            android:layout_weight="1"
            android:padding="15dp"
            android:textAlignment="inherit"
            android:clickable="false"
            android:measureAllChildren="true">

            <TextView
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                android:text="@+id/text"
                android:id="@+id/textView"
                android:layout_gravity="center"
                android:linksClickable="true"
                android:textIsSelectable="false"
                android:typeface="normal"
                android:textStyle="normal"
                android:scrollbars = "vertical"
                android:fadeScrollbars="false"
                android:textSize="@dimen/textsize"
                android:clickable="true"
                android:focusable="true"
                android:longClickable="false" />
            <TextView
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                android:text="@+id/text"
                android:id="@+id/textView2"
                android:layout_gravity="center"
                android:linksClickable="true"
                android:textIsSelectable="false"
                android:typeface="normal"
                android:textStyle="normal"
                android:scrollbars = "vertical"
                android:fadeScrollbars="false"
                android:textSize="@dimen/textsize"
                android:clickable="true"
                android:focusable="true"
                android:longClickable="false" />
        </MyViewSwitcher>

Они отличаются только на "Android: ID".

Мой ViewSwitcher работает до сих пор. Я реализовал, что прокрутка включена, и горизонтальные пролистывания также обнаружены.

Но есть проблема: когда я использую "showNext" -метод ViewSwitcher, TextView, который появляется, не прокручивается. Если я прокручиваю и возвращаюсь к моему последнему TextView, этот прокручивается.

В обоих представлениях отображаются полосы прокрутки, если для параметра "android: fadeScrollbars" установлено значение false. Это всегда "второй" TextView, который нельзя прокручивать.

Вот как я могу изменить отображаемый TextView:

TextView oldView = (TextView) this.getCurrentView();
TextView newView = (TextView) this.getNextView();
//newView.setMovementMethod(new LinkMovementMethod());
newView.setText(text);
this.showNext();

У меня такое ощущение, что "showNext" не дает сосредоточиться на следующем просмотре. Но я уже пытался использовать "clearFocus" для oldView и "requestFocus" для newView.

Есть идеи?

1 ответ

Решение

Я решил проблему, установив MovementMethod для "oldView" в null:

TextView oldView= (TextView) this.getCurrentView();
oldView.setMovementMethod(null);

TextView newView = (TextView) this.getNextView();
newView .setMovementMethod(new LinkMovementMethod());
newView .setText(html);

this.showNext();
Другие вопросы по тегам