私は、指定されたURLからダウンロードしたイメージを含むいくつかのダウンロードされた情報をリストに埋め込むウィジェットを持っています。Android - ウィジェットダウンロードしたリソースからのRemoteView setImageViewBitmap
URLから作成したビットマップを使ってsetImageViewBitmapを使用してこの画像を表示したいとします。私は正常にビットマップを作成することができますが、私は問題に直面:私が使用している場合
を:
itmap bitmap = BitmapFactory.decodeStream((InputStream)new URL(item.getPosterUrl()).getContent());
remoteViews.setImageViewBitmap(R.list_item.poster, bitmap);
イメージが正常にウィジェット一覧に表示され、しかし、ダウンロードは一種の遅い(とこの一般的ですすべてのネットワーク操作で行う必要があります)ので、ユーザーがリストの残りの部分を見ることができる間、スレッドを使用してバックグラウンドでダウンロードを実行したかったのです。
私の問題は、私がスレッドを使うと、ダウンロードはうまくいっても、remoteViewsはイメージを更新していないということです。同じ結果を持つHandlerも試しました。
多分私はrunOnUIThreadとして何かが必要ですが、私はウィジェットのための同様のメソッドを見つけませんでした。
どうすればよいですか?
ありがとうございます。
もし私が複数のremoteviewsを基本的に写真付きの連絡先のリストを更新したいのであれば、どうすればいいのですか?私は上記の方法を試しましたが、常に最初のビューを更新します。手伝っていただけませんか?例:私のウィジェットには5つの連絡先が表示されています。私は毎回各写真を読み込み、毎回appwidgetmgr.updateを呼び出しました。常に最初の項目を更新します。 – Meher
@meher:これは元の質問または私の答えに直接関係していません。質問の右上にあるAsk Questionボタンから新しい質問をしてください。 – CommonsWare