私は1日1回更新されたアンドロイドウィジェットを持っています(providerinfo.xmlファイルに記載されています)。ここで は、現在、私にonUpdate方法である:Android WidgetアップデートTextView Text
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">
とマニフェスト:
<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()メソッドは呼び出されませんが、アンドロイド2.2では呼び出されます。私はこれがバグか、おそらくウィジェットが動作する方法を変えたのだろうかと思います。 onUpdate()メソッドが呼び出されていない、アンドロイド2.3で、しかし、アンドロイド2.2で、それが呼び出されます。
メジャーアップデート:
更新頻度はどこで設定しましたか?マニフェストまたはAlarmManagerを通じて? – skyman
編集を参照してください。ありがとう! – Peanut
onUpdateの内部にログを置くことで、初めてウィジェットを追加するとそのウィジェットが呼び出されるようにすることができます。 – exception01