多条目——imageloader

MainActivity

import android.os.Handler;
import android.os.Message;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.ListView;

import com.google.gson.Gson;

import java.util.ArrayList;
import java.util.List;

public class MainActivity extends AppCompatActivity {

private ListView listView;
private String jiekou="http://result.eolinker.com/k2BaduF2a6caa275f395919a66ab1dfe4b584cc60685573?uri=tt";
private UrlConnection urlConnection;
private Handler handler=new Handler(){
    @Override
    public void handleMessage(Message msg) {
        super.handleMessage(msg);
        switch (msg.what){
            case 1:
                LAdapter lAdapter=(LAdapter)msg.obj;
                listView.setAdapter(lAdapter);

                break;
        }
    }
};
private LAdapter lAdapter;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    listView = findViewById(R.id.listview);
    urlConnection = new UrlConnection();
    new Thread(){
        @Override
        public void run() {
            super.run();
            String data = urlConnection.getData(jiekou);
            Gson gson=new Gson();
            Bean bean = gson.fromJson(data, Bean.class);
            List<Bean.ResultBean.DataBean> data1=bean.getResult().getData();
            lAdapter = new LAdapter(MainActivity.this, (ArrayList<Bean.ResultBean.DataBean>) data1);
            Message message=new Message();
            message.what=1;
            message.obj=lAdapter;
            handler.sendMessage(message);

        }
    }.start();
       }
    }

UrlConnection

import com.google.common.io.CharStreams;

import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLConnection;

public class UrlConnection {
private static String string1;

public static String getData(final String string) {
    try {
        URL url = new URL(string);
        HttpURLConnection connection = (HttpURLConnection) url.openConnection();
        connection.setRequestMethod("GET");
        connection.setReadTimeout(3000);
        connection.setConnectTimeout(3000);
        int code = connection.getResponseCode();
        if (code == 200) {
            InputStream inputStream = connection.getInputStream();
            InputStreamReader streamReader = new InputStreamReader(inputStream, "UTF-8");
            string1 = CharStreams.toString(streamReader);
            string1.toString();


        }
    } catch (Exception e) {
        e.printStackTrace();
    }
    return string1;
};

}

适配器

import android.content.Context;
import android.graphics.Bitmap;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.TextView;

import com.nostra13.universalimageloader.core.DisplayImageOptions;
import com.nostra13.universalimageloader.core.ImageLoader;

import java.util.ArrayList;

public class LAdapter extends BaseAdapter {
private Context context;
private ArrayList<Bean.ResultBean.DataBean> list;

public LAdapter(Context context, ArrayList<Bean.ResultBean.DataBean> list) {
    this.context = context;
    this.list = list;
}

@Override
public int getCount() {
    return list.size();
}

@Override
public Object getItem(int position) {
    return list.get(position);
}

@Override
public long getItemId(int position) {
    return position;
}

@Override
public int getItemViewType(int position) {
    int num=0;
    String pic = list.get(position).getThumbnail_pic_s02();
    if (pic !=null){
        num=1;

    }else {
        num=0;
    }
    return num;
}

@Override
public int getViewTypeCount() {
    return 2;
}

@Override
public View getView(int position, View convertView, ViewGroup parent) {
   ViewHolder1 holder1=null;
    ViewHolder2 holder2=null;
    int type = getItemViewType(position);

    if (convertView==null){
        switch (type){
            case 0:

                holder1=new ViewHolder1();
                convertView = View.inflate(context, R.layout.list1_item, null);
                holder1.name=convertView.findViewById(R.id.name);
                holder1.wangzhi=convertView.findViewById(R.id.wangzhi);
                convertView.setTag(holder1);
                break;
            case 1:

                holder2=new ViewHolder2();
                convertView = View.inflate(context, R.layout.list2_item, null);
                holder2.name2=convertView.findViewById(R.id.name2);
                holder2.wangzhi2=convertView.findViewById(R.id.wangzhi2);
                holder2.image2=convertView.findViewById(R.id.image);
                convertView.setTag(holder2);
                break;
        }

   }else {
        switch (type){
            case 0:
                holder1 = (ViewHolder1) convertView.getTag();
                break;
            case 1:
                holder2 = (ViewHolder2) convertView.getTag();
                break;
        }


   }
   switch (type){
       case 0:
           holder1.name.setText(list.get(position).getTitle());
           holder1.wangzhi.setText(list.get(position).getAuthor_name());
           break;
       case 1:
           holder2.name2.setText(list.get(position).getTitle());
           holder2.wangzhi2.setText(list.get(position).getAuthor_name());
           DisplayImageOptions options=new DisplayImageOptions.Builder().cacheOnDisk(true)
                   .bitmapConfig(Bitmap.Config.RGB_565)
                   .build();
           ImageLoader.getInstance().displayImage(list.get(position).getThumbnail_pic_s(),holder2.image2,options);

           break;
   }

    return convertView;
}

class ViewHolder1{
    TextView name;
    TextView wangzhi;
}
class ViewHolder2{
    TextView name2;
    TextView wangzhi2;
    ImageView image2;
     }
}

在清单注册name=App
App

import android.app.Application;

import com.nostra13.universalimageloader.core.ImageLoader;
import com.nostra13.universalimageloader.core.ImageLoaderConfiguration;

public class App extends Application {
@Override
public void onCreate() {
super.onCreate();
ImageLoaderConfiguration loaderConfiguration=ImageLoaderConfiguration.createDefault(this);
ImageLoader.getInstance().init(loaderConfiguration);
}
}
所用依赖
implementation ‘com.google.code.gson:gson:2.2.4’
implementation ‘com.google.guava:guava:16.0.1’
implementation ‘com.nostra13.universalimageloader:universal-image-loader:1.9.5’

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值