Как программно изменить атрибут «android: autoStart» ViewFlipper в RemoteViews? - PullRequest
4 голосов
/ 19 августа 2011

Я создаю appWidget, который имеет несколько представлений и переворачивает представления.В принципе, это работает.Но я понятия не имею, как я могу остановить перелистывание представлений в RemoteViews программно.

это XML-макет для переворачивания

<ViewFlipper android:id="@+id/vf_slot_0"
    android:layout_width="fill_parent" android:layout_height="75dp"
    android:autoStart="true"
    android:flipInterval="10000">

, и это код

RemoteViews mViews = new RemoteViews(context.getPackageName(), R.id.flipping_view);
mViews.setBoolean(R.id.vf_slot_0, "setAutoStart", false);
mViews.setInt(R.id.vf_slot_0, "setFlipInterval", 1000);

setFlipInterval работает.Я могу изменить интервал переключения программно с помощью этого кода.Но «setAutoStart» не является.И получаю эту ошибку ..

08-19 01:45:38.821: WARN/AppWidgetHostView(2889): android.widget.RemoteViews$ActionException: view: android.widget.ViewFlipper can't use method with RemoteViews: setAutoStart(boolean)

Интересно, почему я не могу использовать 'setAutoStart', пока я могу использовать 'setFlipInterval'.Можно ли каким-то образом запускать или останавливать перелистывание изображений в моем appWidget программным способом?

Ответы [ 2 ]

1 голос
/ 08 февраля 2012

Я пытаюсь найти, где я читаю, но если я правильно помню, ViewFlipper останавливается, если установлено невидимым. Но я не могу найти это сейчас. Итак, если это правда, попробуйте:

mViews.setViewVisibility(R.id.vf_slot_0, View.INVISIBLE); 
0 голосов
/ 12 мая 2015

Я думаю, что должен заключить это, заявив, что метод setAutoStart с RemoteViews не поддерживается.

...