2011-03-01 21 views
2

私は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で、それが呼び出されます。

メジャーアップデート:

+0

更新頻度はどこで設定しましたか?マニフェストまたはAlarmManagerを通じて? – skyman

+0

編集を参照してください。ありがとう! – Peanut

+0

onUpdateの内部にログを置くことで、初めてウィジェットを追加するとそのウィジェットが呼び出されるようにすることができます。 – exception01

答えて

-1

は私の更新を確認してください。私はこれがバグか、おそらくウィジェットが動作する方法を変えたのだろうかと思います。

私はこれを答えとして受け入れています。 Googleがそれについて何かしているかどうかを確認します。