多条目加载

import android.os.AsyncTask;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.TextView;

import com.bwie.xlistviewlibrary.View.XListView;
import com.google.gson.Gson;
import com.nostra13.universalimageloader.core.ImageLoader;
import com.xinzhengwei.zonghelianxi.Bean;
import com.xinzhengwei.zonghelianxi.R;
import com.xinzhengwei.zonghelianxi.com.bawie.util.Util;

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

/**
 * Created by 辛政维 on 2017/11/16.
 */

public class Fr1zi2 extends Fragment implements XListView.IXListViewListener{

    private XListView xlv;
    private String urlstring="http://www.93.gov.cn/93app/data.do?channelId=0&startNum=0";
    private ArrayList<Bean.DataBean> dalist=new ArrayList<>();
    private ImageLoader instance;
    private adapter ad;

    @Nullable
    @Override
    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {

        View view1 = inflater.inflate(R.layout.fr2zi_mian, container, false);
        instance = ImageLoader.getInstance();
        init();
        xlv = view1.findViewById(R.id.xlv);
        ad = new adapter();
        xlv.setAdapter(ad);
        xlv.setPullLoadEnable(true);
        xlv.setXListViewListener(this);
        return view1;
    }

    private void init() {
        new Mascytask().execute(urlstring);
    }

    class Mascytask extends AsyncTask<String,Void,String>{

    @Override
    protected String doInBackground(String... strings) {
        return Util.getdata(strings[0]);
    }

        @Override
        protected void onPostExecute(String s) {
            super.onPostExecute(s);
            Gson gson=new Gson();
            Bean be = gson.fromJson(s, Bean.class);
            List<Bean.DataBean> da = be.getData();
            dalist.addAll(da);
            ad.notifyDataSetChanged();
            shuaxin();
        }
    }
    class adapter extends BaseAdapter{

        private Hadler1 hadler1;
        private Hadler2 hadler2;

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

        @Override
        public Object getItem(int i) {
            return null;
        }

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

        @Override
        public int getItemViewType(int position) {
            int i=0;
            String imageurl = dalist.get(position).getIMAGEURL();

            if (imageurl==null){
                i=0;
            }else {
                i=1;
            }

            return i;
        }

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

        @Override
        public View getView(int i, View view, ViewGroup viewGroup) {

            int type = getItemViewType(i);

            switch (type){

                case 0:

                    if (view==null){
                        hadler1 = new Hadler1();
                        view= View.inflate(getActivity(), R.layout.text2_main, null);
                        hadler1.tv1 = view.findViewById(R.id.tv1);
                        view.setTag(hadler1);
                    }else {
                         hadler1 = (Hadler1)view.getTag();
                    }
                        hadler1.tv1.setText(dalist.get(i).getTITLE());
                    break;
                case 1:

                    if (view==null){
                        hadler2 = new Hadler2();
                        view= View.inflate(getActivity(), R.layout.text3_main, null);
                        hadler2.tv2= view.findViewById(R.id.tv2);
                        hadler2.image=view.findViewById(R.id.image);
                        view.setTag(hadler2);
                    }else {
                        hadler2 = (Hadler2)view.getTag();
                    }
                    hadler2.tv2.setText(dalist.get(i).getTITLE());
                    instance.displayImage(dalist.get(i).getIMAGEURL(),hadler2.image);
                    break;

            }

            return view;
        }
    }
    public void shuaxin(){
        xlv.stopRefresh();;
        xlv.stopRefresh();
        xlv.setRefreshTime("刚刚");
    }

    @Override
    public void onRefresh() {
        dalist.clear();
        init();
    }

    @Override
    public void onLoadMore() {
        init();
    }

    class Hadler1{

        private TextView tv1;

    }

    class Hadler2{

        private TextView tv2;
        private  ImageView image;

    }

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值