前提・実現したいこと
widgetで使用する値を変数に保持したい。
以下ソースでonReceiveでカウントアップさせても、次にonReceiveが
呼び出された際にはcounterの値が0に戻っている。
値を保持するにはどのようにすればよろしいでしょうか?
よろしくおねがいします。
該当のソースコード
class NewAppWidget : AppWidgetProvider() { override fun onUpdate(context: Context, appWidgetManager: AppWidgetManager, appWidgetIds: IntArray) { // There may be multiple widgets active, so update all of them for (appWidgetId in appWidgetIds) { updateAppWidget(context, appWidgetManager, appWidgetId) } } var counter = 0 //この値をカウントアップしたい override fun onReceive(context: Context?, intent: Intent?) { super.onReceive(context, intent) Log.i("ログ", counter.toString()) //何回呼び出されても0が出力される counter += 1 } override fun onEnabled(context: Context) { // Enter relevant functionality for when the first widget is created } override fun onDisabled(context: Context) { // Enter relevant functionality for when the last widget is disabled } } internal fun updateAppWidget(context: Context, appWidgetManager: AppWidgetManager, appWidgetId: Int) { val intent = Intent(context, NewAppWidget::class.java) // Construct the RemoteViews object val views = RemoteViews(context.packageName, R.layout.new_app_widget) // Instruct the widget manager to update the widget val pIntent = PendingIntent.getBroadcast(context, appWidgetId, intent, 0) views.setOnClickPendingIntent(R.id.appwidget_text, pIntent) appWidgetManager.updateAppWidget(appWidgetId, views) }
補足情報(FW/ツールのバージョンなど)
API 26
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2019/12/02 11:23