私はnostra13UniversalImageLoaderを使用して一連の画像をグリッドビューにロードし、それが美しく機能していますが、ユーザーがメニューの項目をクリックすると、画像を変更する必要があります(新しいページを開くのではなく、リロード/更新します)同じページの画像)
私はそのようにイメージローダーを呼んでいます:
protected ImageLoader imageLoader;
imageLoader = ImageLoader.getInstance();
imageLoader.init(ImageLoaderConfiguration.createDefault(this));
Bundle bundle = getIntent().getExtras();
imageUrls = bundle.getStringArray(Extra.IMAGES);
options = new DisplayImageOptions.Builder()
.showStubImage(R.drawable.stub_image)
.showImageForEmptyUri(R.drawable.image_for_empty_url)
.cacheInMemory()
.cacheOnDisc()
.bitmapConfig(Bitmap.Config.RGB_565)
.build();
final GridView main_gridview = (GridView)findViewById(R.id.main_gridview);
main_gridview.setAdapter(new ImageAdapter());
public class ImageAdapter extends BaseAdapter {
@Override
public int getCount() {
return imageUrls.length;
}
@Override
public Object getItem(int position) {
return null;
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
final ImageView imageView;
if (convertView == null) {
imageView = (ImageView) getLayoutInflater().inflate(R.layout.item_grid_image, parent, false);
} else {
imageView = (ImageView) convertView;
}
imageLoader.displayImage(imageUrls[position], imageView, options);
return imageView;
}
}
ご覧のとおり、Extras.IMAGESはさまざまなURLを含む文字列配列であるため、ユーザーがメニューの上記のボタンをクリックすると、新しいURLを含む配列が表示されますが、画像アダプターを「更新」する方法がわかりません。 ?
その場でグリッドビューに画像を「追加」できることは理解していますが、アレイ全体を完全に更新できるかどうかは、nostraのドキュメントには記載されていません。
どんな助けでも大歓迎です。:)
PS。これに対する答えが明らかな場合は申し訳ありませんが、私はAndroid開発に約1週間しか入っていません。