1.appliction代码

在清单文件中加入name

package bwhttp.com.day2.myapp;

import android.content.Context;
import android.os.Environment;
import android.util.Log;

import com.nostra13.universalimageloader.cache.disc.impl.UnlimitedDiskCache;
import com.nostra13.universalimageloader.cache.disc.naming.HashCodeFileNameGenerator;
import com.nostra13.universalimageloader.cache.memory.impl.LruMemoryCache;
import com.nostra13.universalimageloader.core.DisplayImageOptions;
import com.nostra13.universalimageloader.core.ImageLoader;
import com.nostra13.universalimageloader.core.ImageLoaderConfiguration;
import com.nostra13.universalimageloader.core.assist.QueueProcessingType;
import com.nostra13.universalimageloader.core.decode. ImageDecoder;
import com.nostra13.universalimageloader.core.download. ImageDownloader;

import java.io.File;

public class Application extends android.app.Application {
    
    @Override
    public void onCreate() {
        super.onCreate();
        
        //初始化ImageLoader
      //  ImageLoaderConfiguration  配置Imageloader
        ImageLoaderConfiguration build = new ImageLoaderConfiguration.Builder(this)
                .diskCacheExtraOptions(480, 800, null)  // 本地缓存的详细信息(缓存的最大长宽),最好不要设置这个
                .threadPoolSize(3) // default  线程池内加载的数量
                .threadPriority(Thread.NORM_PRIORITY - 2) // default 设置当前线程的优先级
                .tasksProcessingOrder(QueueProcessingType.FIFO) // default
                .denyCacheImageMultipleSizesInMemory()
                .memoryCache(new LruMemoryCache(2 * 1024 * 1024)) //可以通过自己的内存缓存实现
                .memoryCacheSize(2 * 1024 * 1024)  // 内存缓存的最大值
                .memoryCacheSizePercentage(13) // default
                
                .diskCacheSize(50 * 1024 * 1024) // 50 Mb sd卡(本地)缓存的最大值
                .diskCacheFileCount(100)  // 可以缓存的文件数量
                
                .diskCacheFileNameGenerator(new HashCodeFileNameGenerator())
                //.diskCache(new UnlimitedDiskCache(file))//UnlimitedDiskCache 限制这个图片的缓存路径
               // .imageDownloader(new  ImageDownloader(context)) // default
                //.imageDecoder(new  ImageDecoder(true)) // default
                //.defaultDisplayImageOptions(DisplayImageOptions.createSimple()) // default
                //.discCache(new LimitedAgeDiscCache(cacheDir, 7 * 24 * 60 * 60))// 自定义缓存路径,7天后自动清除缓存
                .writeDebugLogs() // 打印debug lo
                .build();
        ImageLoader.getInstance().init(build);//全局初始化此配置

    }
}

2.s适配器中代码

public class MyAdapte extends  Adapter {
    private LayoutInflater mInflater;
    Context  context;
    List<FocusBean.ResultBean.DataBean> list;
    private TextView textView;
    private DisplayImageOptions Options;

    //构造方法
    public MyAdapte(Context context,   List<FocusBean.ResultBean.DataBean>  resultBean) {
        this.context=context;
        this.list=resultBean;
        mInflater = LayoutInflater.from(context);
    }

   //统计总条目数量
    @Override
    public int getCount() {
        return list.size();
    }
   //当前显示的条目
    @Override
    public   getItem(int position) {
        return list.get(position);
    }
   //获取当前条目id
    @Override
    public long getItemId(int position) {
        return position;
    }
    //加载视图
    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        ViewHolder holder = null;
        if (convertView == null) {
            //加载布局
            convertView = mInflater.inflate(R.layout.item_listview, parent, false);
            holder=  new ViewHolder();

            holder.textView1 = convertView.findViewById(R.id.textView1);
            holder.textView2 = convertView.findViewById(R.id.textView2);
            holder.textView3 = convertView.findViewById(R.id.textView3);
            ImageView imageView = holder.imageView = convertView.findViewById(R.id.imageView);
            convertView.setTag(holder);
        }  else {   //else里面说明,convertView已经被复用了,说明convertView中已经设置过tag了,即holder
                     holder = (ViewHolder) convertView.getTag();
                 }
        holder.textView1.setText(list.get(position).getAuthor_name());
        holder.textView2.setText(list.get(position).get ());
        holder.textView3.setText(list.get(position).getDate());
        //图片异步加载使用Imageloader

        Options = new DisplayImageOptions.Builder()
                .showStubImage(R.mipmap.bw_er)//缓冲过程中图片
                .showImageForEmptyUri(R.mipmap.bw_empty)// 设置图片Uri为空或是错误的时候显示的图片
                .showImageOnFail(R.mipmap.bw_wf)// 设置图片加载或解码过程中发生错误显示的图片
                .cacheInMemory(true)//缓存道内存
                .cacheOnDisc(true)//缓存到硬盘
                .bitmapConfig(Bitmap.Config.ARGB_8888) //设置图片的解码类型
                .disp (new RoundedBitmapDisp (30,10))//圆角
                .disp (new CircleBitmapDisp (Color.RED, 10))//圆形
                .build()
                ;
        ImageLoader.getInstance().displayImage(list.get(position).getThumbnail_pic_s(),holder.imageView,Options);
       // ImageLoader.getInstance().displayImage(list.get(position).getThumbnail_pic_s(),holder.imageView);

        return convertView;
    }




    private class ViewHolder {
          TextView  textView1,textView2,textView3;
          ImageView imageView;

    }

}

 

收藏 打印