2016-03-31 12 views
0

私はアンドロイドアプリを開発しています。そして、私はservice.Theコードから画像をロードするImageLoaderを用い、以下のようである:Imageloaderは常に間違った画像を表示します

public ImageLoader imageLoader = ImageLoader.getInstance(); 
    imageLoader.init(ImageLoaderConfiguration.createDefault(.this)); 
    options = new DisplayImageOptions.Builder().showStubImage(R.drawable.ic_stub).showImageForEmptyUri(R.drawable.ic_empty).showImageOnFail(R.drawable.ic_error).cacheInMemory(true).cacheOnDisc(true).displayer(new RoundedBitmapDisplayer(5)).build(); 
    imageLoader.displayImage(my_pic, holder.head, options); 

Iが活性でgetView()でこのコードを使用します。そして、私はサービスから写真を読むことができましたが、holder.headは常に画像R.drawable.ic_stubを表示します。 このコードの前に、ImageLoaderを使用して、機能onCreate()の画像を表示しました。この画像は同じファイル内にあります。

正しい写真を表示できないのはなぜですか?このような

+0

にアクセスする権限を追加あなたは思え拡張初期化ロードするイメージを設定する際に論理的な問題が発生する可能性があります。 –

答えて

0

用画像ローダー..... まず

DisplayImageOptions defaultOptions; 
    ImageLoaderConfiguration config; 

       // OnCreate{ 
       defaultOptions = new DisplayImageOptions.Builder() 
         .cacheOnDisc(true).cacheInMemory(true) 
         .imageScaleType(ImageScaleType.EXACTLY). 
           showImageOnFail(R.drawable.noimage).showImageForEmptyUri(R.drawable.noimage). 
           showImageOnLoading(R.drawable.noimage) 
         .displayer(new FadeInBitmapDisplayer(300)).build(); 

       config = new ImageLoaderConfiguration.Builder(
         getApplicationContext()) 
         .defaultDisplayImageOptions(defaultOptions) 
         .memoryCache(new WeakMemoryCache()) 
         .discCacheSize(100 * 1024 * 1024).build(); 

       ImageLoader.getInstance().init(config); 

} 

パブリッククラスSubCatAdapterがBaseAdapterを{

..... 
private ImageLoader imageLoader; 

public SubCatAdapter(Context mcontext, ArrayList<SubCategoriesVO> itmes) { 
    this.mcontext = mcontext; 
    .... 
    imageLoader = imageLoader.getInstance(); 
} 

.... 
@Override 
public View getView(int position, View convertView, ViewGroup parent) { 
    // TODO Auto-generated method stub 
    Holder holder; 
    if (convertView == null) { 
     LayoutInflater mInflater = (LayoutInflater) mcontext.getSystemService(Activity.LAYOUT_INFLATER_SERVICE); 
     convertView = mInflater.inflate(R.layout.subcat_list_item, null); 

     holder = new Holder(); 
     holder.imgIcon = (ImageView) convertView.findViewById(R.id.dd_icon); 
     ..... 

     convertView.setTag(holder); 
    } else { 
     holder = (Holder) convertView.getTag(); 
    } 

    SubCategoriesVO item = searched_itmes.get(position); 

    if (imageLoader != null) 
     imageLoader.displayImage(item.getImg(), holder.imgIcon); 
    .... 
    return convertView; 
}} 

がインターネット

​​
+0

答えからあなたの個人コードを削除する必要があります! –

+0

あなたのコードでは、imageLoader.displayImage(item.getImg()、holder.imgIcon)でオプションを使用しませんでした。 –

+0

アプリの起動時に一度初期化する必要があります。 –

関連する問題