多条目加载,HttpURLConnection,get模型

//主Activity
public class MainActivity extends AppCompatActivity {

    private ListView list_view;
    String path = "http://v.juhe.cn/toutiao/index?type=top&key=2f092bd9ce76c0257052d6d3c93c11b4";

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

        list_view = (ListView) findViewById(R.id.list_view);

        getData();
    }

    public void getData() {
        AsyncTask<Void, Void, String> asyncTask = new AsyncTask<Void, Void, String>() {
            @Override
            protected String doInBackground(Void... voids) {
                try {
                    URL url = new URL(path);
                    HttpURLConnection connection = (HttpURLConnection) url.openConnection();
                    connection.setRequestMethod("GET");
                    connection.setConnectTimeout(5000);
                    connection.setReadTimeout(5000);
                    int responseCode = connection.getResponseCode();
                    if (responseCode == 200){
                        InputStream inputStream = connection.getInputStream();
                        String json = StreamToString(inputStream, "utf-8");
                        Log.i("json" , "json----->" + json);
                        return json;
                    }
                } catch (Exception e) {
                    e.printStackTrace();
                }
                return null;
            }

            @Override
            protected void onPostExecute(String s) {
                super.onPostExecute(s);
                Gson gson = new Gson();
                UserBean userBean = gson.fromJson(s, UserBean.class);
                List<UserBean.ResultBean.DataBean> list = userBean.getResult().getData();
                Log.i("list" , "list---->" + list.toString());
                MyAdapter adapter = new MyAdapter(MainActivity.this, list);
                Log.i("添加适配器" , "----成功" + 0);
                list_view.setAdapter(adapter);
            }
        };
        asyncTask.execute();
    }

    private String StreamToString(InputStream inputStream, String s) {
        try {
            InputStreamReader inputStreamReader = new InputStreamReader(inputStream , s);
            BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
            StringBuilder builder = new StringBuilder();
            String string = null;
            while ((string = bufferedReader.readLine()) != null){
                builder.append(string);
            }
            bufferedReader.close();
            Log.i("builder" , "builder---->" + builder.toString());
            return builder.toString();
        } catch (Exception e) {
            e.printStackTrace();
        }
        return null;
    }
}
//adapter    图片是默认的不是获取的
public class MyAdapter extends BaseAdapter {

    private static final int IMAGE_ITEM_01 = 0;
    private static final int IMAGE_ITEM_02 = 1;
    private static final int IMAGE_ITEM_03 = 2;
    Context context;
    List<UserBean.ResultBean.DataBean> list;

    public MyAdapter(Context context, List<UserBean.ResultBean.DataBean> list) {
        this.context = context;
        this.list = list;
    }

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

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

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

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

    @Override
    public int getItemViewType(int position) {
        if (list.get(position).getThumbnail_pic_s03() == null){
            return IMAGE_ITEM_01;
        }else if (list.get(position).getThumbnail_pic_s02() == null){
            return IMAGE_ITEM_02;
        }else{
            return IMAGE_ITEM_03;
        }
    }

    @Override
    public View getView(int i, View view, ViewGroup viewGroup) {
        if (getItemViewType(i) == IMAGE_ITEM_01){
            Image_Holder_01 holder_01;
            if (view == null){
                holder_01 = new Image_Holder_01();
                view = View.inflate(context , R.layout.image_item_01 , null);
                holder_01.text_title = view.findViewById(R.id.text_title);
                view.setTag(holder_01);
            }else{
                holder_01 = (Image_Holder_01) view.getTag();
            }
            holder_01.text_title.setText(list.get(i).getTitle());
        }else if (getItemViewType(i) == IMAGE_ITEM_02){
            Image_Holder_02 holder_02;
            if (view == null){
                holder_02 = new Image_Holder_02();
                view = View.inflate(context , R.layout.image_item_02 , null);
                holder_02.text_title = view.findViewById(R.id.text_title);
                view.setTag(holder_02);
            }else{
                holder_02 = (Image_Holder_02) view.getTag();
            }
            holder_02.text_title.setText(list.get(i).getTitle());
        }else{
            Image_Holder_03 holder_03;
            if (view == null){
                holder_03 = new Image_Holder_03();
                view = View.inflate(context , R.layout.image_item_03 , null);
                holder_03.text_title = view.findViewById(R.id.text_title);
                view.setTag(holder_03);
            }else{
                holder_03 = (Image_Holder_03) view.getTag();
            }
            holder_03.text_title.setText(list.get(i).getTitle());
        }

        return view;
    }
    class Image_Holder_01{
        TextView text_title;
        ImageView image_01;
        ImageView image_02;
        ImageView image_03;
    }
    class Image_Holder_02{
        TextView text_title;
        ImageView image_01;
        ImageView image_02;
    }
    class Image_Holder_03{
        TextView text_title;
        ImageView image_01;
    }
}
//清单注意适配
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值