サムネイルをロードする必要がある要件と、カスタムによって設定されるText
要件があります。サムネイルはキャッシュメモリに保存する必要があります。ユニバーサルイメージローダーを使用しているためですが、サムネイルの実装と、からの画像の読み込みの要件に従って使用する方法については、かなり混乱しています。良い実装でそれのためのいくつかの方法を私に提案してください。ListView
Adapter
ListView
URL
5 に答える
以下のコード行をアダプタのgetView()メソッドに記述します。ここで、imageUrls[position]はImageUrlsの配列であり、holder.imageはimageviewです。
imageLoader.displayImage(imageUrls[position], holder.image, null);
そして、以下のコード行をアダプターコンストラクターに書き込みます。
ImageLoader imageLoader=new ImageLoader(activity.getApplicationContext());
それはあなたの問題を解決します、そしてあなたがそれに関して何か質問があればそれから私に教えてください。
ユニバーサルイメージローダーの例の完全なソースコードについては、以下のリンクを参照してください。
アダプタのoncreate()で定義
ImageLoader imageLoader=new ImageLoader(activity.getApplicationContext());
getView()メソッドで使用します。
imageLoader.DisplayImage(//your image url, //your imageView);
Android 用の非常にシンプルな UI 操作フレームワークである AQuery - (Android-Query) を使用することをお勧めします。
AQuery はライブラリとして提供され、ビルド パスに含める必要があります。
AQuery では、次の行を使用して、画像をダウンロード、表示 (エフェクト付き)、およびキャッシュ (メモリとディスクの両方) できます。
AQuery aq = new AQuery(yourActivity.this);
boolean memCache = true;
boolean fileCache = true;
aq.id(R.id.image1).image("http://www.example.com/image.jpg", memCache, fileCache);
AQuery はすべてのデータ ダウンロード プロセスを処理し、指定した ImageView に画像を表示します。memCache
画像をロードすると、ブール値パラメーターに従ってメモリ (またはディスク) にキャッシュされますfileCache
。次回は、メモリ キャッシュまたはファイル キャッシュからイメージを読み込みます。
詳細と例については、http://code.google.com/p/android-query/ の AQuery プロジェクトにアクセスしてください。
画像の読み込みに関するその他のコード - http://code.google.com/p/android-query/wiki/ImageLoading
これは、ユニバーサル イメージローダーを使用して imageurl をロードするのに役立ちます。imageurl のステータスが Loading の開始、Completed または Failed であり、リクエストのキャンセル ステータスも提供されます。お役に立てば幸いです。
public void ImageLoaderListener(String url){
imageLoader.loadImage(url,new ImageLoadingListener(){
@Override
public void onLoadingStarted(String imageUri, View view) {
Log.e("tag", "onLoadingStarted");
}
@Override
public void onLoadingFailed(String imageUri, View view, FailReason failReason) {
Log.e("tag", "onLoadingFailed");
}
@Override
public void onLoadingComplete(String imageUri, View view, Bitmap loadedImage) {
Log.e("tag", "onLoadingComplete");
imageView.setImageBitmap(loadedImage);
}
@Override
public void onLoadingCancelled(String imageUri, View view) {
Log.e("tag", "onLoadingCancelled");
}
});
}
画像をキャッシュしたい場合は、これを関数の下に追加します...しかし、非常に高度であるため、作成時に開始します..
ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(getApplicationContext())
.defaultDisplayImageOptions(DisplayImageOptions.createSimple())
.build();
imageLoader = ImageLoader.getInstance();
if (!imageLoader.isInited()) {
imageLoader.init(config);
}
defaultOptions = new DisplayImageOptions.Builder()
.cacheInMemory(true)
.cacheOnDisc(true)
.build();
次に、その ImageLoadingListener() 関数を追加します...
public void ImageLoaderListener(String url){
imageLoader.loadImage(url, defaultOptions, new ImageLoadingListener() {