Android TV のアプリケーションでは、各セルにリモート画像を表示する垂直の ListView があります。
リモートコントロールキーを使用してリストを下にスクロールすると、次の要素が表示されるはずですが、戻って上に移動し、いくつかのアイテム (フォーカスあり) を下にスクロールすると、2-4 のアイテムが読み込まれます。さらに行き詰まり、などなど。
画像はionを介してリモートで読み込まれますが、UniversalImageLoader を使用しても同じ動作が発生します。プレースホルダー画像のみを使用すると、リストがスムーズに実行されます。
別のタスクでリモート イメージをロードする際の問題のようですが、ion はこれをカバーすると想定されています。
class DayImagesAdapter extends BaseAdapter {
Context context;
List<String> data; //just an array of URL strings
private static LayoutInflater inflater = null;
public DayImagesAdapter(Context context, List<String> data) {
this.context = context;
this.data = data;
inflater = (LayoutInflater) context
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
}
@Override public int getCount() { return data.size(); }
@Override public Object getItem(int position) { return data.get(position); }
@Override public long getItemId(int position) { return position; }
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View vi = convertView;
if (vi == null)
vi = inflater.inflate(R.layout.layout_image_cell, null);
ImageView imageView = (ImageView) vi.findViewById(R.id.imageDayImagesCell);
String url = Constants.BASE_URL + data.get(position);
Ion.with(imageView).placeholder(R.drawable.placholder_image).load(url); // <-problem
return vi;
}
}