如何以编程方式在RemoteViews中更改ViewFlipper的'android:autoStart'属性?

时间:2011-08-19 05:51:07

标签: android viewflipper android-appwidget remoteview

我正在构建一个具有多个视图并翻转视图的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 个答案:

答案 0 :(得分:1)

我试图找到我读到的地方,但如果我没记错,ViewFlipper会在设置为不可见时停止。但我现在似乎无法找到它。所以,如果确实如此,请尝试:

mViews.setViewVisibility(R.id.vf_slot_0, View.INVISIBLE); 

答案 1 :(得分:0)

我想我必须通过声明不支持使用RemoteViews的setAutoStart方法来结束它。