に取り組んでいないのでにonUpdate方法は、ウィジェット内のリストビューに、アダプタを適用するためにAndroidのホーム画面のウィジェット:RemoteViews setRemoteAdapter(...)メソッドAPI 11+
remoteViews.setRemoteAdapter(id, R.id.listview, intent)
を呼び出します。
ウィジェットのヘッダーには、リストビューによって表示されるデータセットを変更できるボタンがあります(仮想メールウィジェットの受信ボックス、送信ボックス、スター付きなど)。そのボタンをクリックすると、ユーザーはアクティビティに移動し、表示するデータセットを選択できます。選択が行われると、次のコードが実行されます。
Intent intent = new Intent(this, WidgetReceiver.class);
intent.setAction("android.appwidget.action.APPWIDGET_UPDATE");
intent.putExtra("notify", true);
intent.putExtra(AppWidgetManager.EXTRA_APPWIDGET_IDS, new int[] {R.xml.widget_provider});
sendBroadcast(intent);
は、これが成功し、ウィジェットのAppWidgetProviderクラス内にonUpdateメソッドを呼び出します。しかし、異なるタイプのデータセットを切り替える場合、2-3の設定変更の後に、setRemoteAdapter
メソッドが機能しなくなります。私は広範囲にプロセスを記録しており、メソッドを呼び出すと、RemoteViewsService.RemoteViewsFactory
クラスをロードしてウィジェットとそのアダプタにデータを取り込みますが、これらの処理は実行されません。あなたが好みを変える最初のカップル回、期待どおりに動作します。しかしその後、それは終了する。
ここで何が起こっているのか誰かが知りませんか?
HIJMRboosties。コードを分かち合うだけの親切な態度ですか?また、ListViewをホーム画面ウィジェットに配置し、いくつかのボタンを持つヘッダを追加しようとしています(どのデータセットがリストビューによって表示されるかを変更することができます)。ヘッダーボタンのクリックを登録してリストビューを更新するのが難しいです。 Txs – Hubert
これはすべてのアップデートで起こるようです - 最終的にAndroidは飽きてきて正しい結果が得られると仮定します:/ Thanks @JMRboosties :) – Graeme
あなたがアップグレードしてあなたのアプリが新しいバージョン、それを解決するには? – 2cupsOfTech