サイズが変更されるたびにウィジェットを更新したいと思います。
涼しい!
私はこれがで行われていることを理解しましたonAppWidgetOptionsChanged()
より正確には、<intent-filter>
Android 4.1以降のデバイスで適切なアクションを実行している場合は、を使用してサイズ変更イベントについて確認できますonAppWidgetOptionsChanged()
。
しかし、その中のウィジェットを更新する方法を見つけることができません。
で更新するのと同じ方法で更新しonUpdate()
ます。適切なでをupdateAppWidget()
呼び出します。AppWidgetManager
RemoteViews
onUpdate()に入れたものをすべて呼び出してウィジェットを再描画しようとしましたが、機能しません。
「機能していない」というのは、症状を特に効果的に説明するものではありません。
どうすればバンドルを利用できますか?
Bundle
名前付きの場合newOptions
、次の方法で新しいサイズ範囲を見つけることができます。
newOptions.getInt(AppWidgetManager.OPTION_APPWIDGET_MIN_WIDTH)
newOptions.getInt(AppWidgetManager.OPTION_APPWIDGET_MAX_WIDTH)
newOptions.getInt(AppWidgetManager.OPTION_APPWIDGET_MIN_HEIGHT)
newOptions.getInt(AppWidgetManager.OPTION_APPWIDGET_MAX_HEIGHT)
たとえば、このサンプルプロジェクトAppWidgetProvider
には、これらの値を文字列に入力し、それを使用してを更新するが含まれていTextView
ます。結果は次のようになります。