Android小部件更新TextView文本

时间:2011-03-01 23:06:55

标签: android android-widget

我有一个Android小部件,每天更新一次(如providerinfo.xml文件中所述)。 目前,这是我的onUpdate方法:

public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) 
{
        RemoteViews rvs = new RemoteViews(context.getPackageName(), R.layout.main);
        rvs.setTextViewText(R.id.textviewquote, "we updated! yay!");
        appWidgetManager.updateAppWidget(new ComponentName(context, main.class), rvs);
}

但是,我的textview永远不会改变。在第一次创建窗口小部件时,是否在开始时调用onUpdate?那么如何在文本视图中实际更改文本呢?

由于

编辑: 提供者信息:

<appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android"
android:minWidth="294dp"
android:minHeight="72dp"
android:updatePeriodMillis="86400000"
android:initialLayout="@layout/main">

和Manifest:

<receiver android:name=".main" >
       <intent-filter>
            <action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
       </intent-filter>
       <meta-data android:name="android.appwidget.provider"
                  android:resource="@xml/appwidgetproviderinfo" />
</receiver>

更新: 方法onUpdate()甚至没有被调用。有人可以告诉我为什么吗?

主要更新:在android 2.3中,没有调用onUpdate()方法,但在android 2.2中,它被调用。我想知道这是一个错误,还是他们改变了小部件的工作方式。

1 个答案:

答案 0 :(得分:-1)

检查我的更新:

主要更新:在android 2.3中,未调用onUpdate()方法,但在android 2.2中,它被调用。我想知道这是一个错误,还是他们改变了小部件的工作方式。

我接受这个作为答案。我们会看看谷歌是否做了任何事情。