ウィジェットの説明:
ウィジェットはリストビューで構成されています。このリストビューの各アイテムには異なる属性があります:
- 題名
- 画像の URL
- 価格
- ...
問題 :
各アイテムの URL を使用して、Web から画像をロードするための小さなコードを作成しました。画像はリストビューに適切に表示されますが、リストビューをスクロールすると、すべてのアイテムが非表示になり、システムはアイテムに対応する他の画像をロードしようとします。表示されています。
コードサンプル:
これらのアクションを実行する getViewAt() メソッドのコードは次のとおりです。
public RemoteViews getViewAt(int position) {
WidgetItem item = mWidgetItems.get(position);
// We construct a remote views item based on our widget item xml file, and set the
// text based on the position.
SharedPreferences settings = PreferenceManager.getDefaultSharedPreferences(mContext);
String theme = settings.getString("choixtheme", "default");
if (theme.equals("default")) {
rv = new RemoteViews(mContext.getPackageName(), R.layout.widget_item_default);
}
if (item.urlImage != "") {
URL url = new URL(urlImage);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setDoInput(true);
connection.connect();
InputStream input = connection.getInputStream();
myBitmap = BitmapFactory.decodeStream(input);
}
// Return the remote views object.
return rv;
}