新的XListView主页面

package zjj.bwie.com.week3_01.fragment;


import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.support.v4.view.ViewPager;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AbsListView;
import android.widget.ImageView;

import com.bawei.xlistviewlib.view.XListView;
import com.google.gson.Gson;
import com.nostra13.universalimageloader.core.ImageLoader;

import java.io.ByteArrayOutputStream;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.ArrayList;
import java.util.List;

import zjj.bwie.com.week3_01.R;
import zjj.bwie.com.week3_01.adapter.MyPagerAdapter;
import zjj.bwie.com.week3_01.adapter.XAdapter;
import zjj.bwie.com.week3_01.bean.Bean;

/**
 * A simple {@link Fragment} subclass.
 */
public class OneFragment extends Fragment {


    private View headView;
    private XListView xlist_view;
    private String http = "http://www.xieast.com/api/news/news.php?page=";
    private int path=2;
    private ViewPager view_pager_hear;

    private XAdapter xAdapter;
    private List<ImageView> imageViews = new ArrayList<>();
    private List<Bean.DataBean> data = new ArrayList<>();

    private MyPagerAdapter myPagerAdapter;
    private Handler handler=new Handler(){

        @Override
        public void handleMessage(Message msg) {
            super.handleMessage(msg);
            if(msg.what==0){
                String s= (String) msg.obj;
                Gson gson = new Gson();
                Bean bean = gson.fromJson(s, Bean.class);
                Log.i("AAAA",bean.getData().toString());
                for (int i = 0; i < bean.getData().size(); i++) {
                    ImageView imageView = new ImageView(getActivity());
                    ImageLoader.getInstance().displayImage(bean.getData().get(i).getThumbnail_pic_s(),imageView);
                    imageViews.add(imageView);
                }

                //Log.d(TAG, "onActivityCreated: "+bean.getData());
                myPagerAdapter = new MyPagerAdapter(getActivity(), imageViews);
                view_pager_hear.setAdapter(myPagerAdapter);
                handler.sendEmptyMessageDelayed(1,2000);
                myPagerAdapter.notifyDataSetChanged();

                if(path==1){
                    data.clear();
                }
                data.addAll(bean.getData());
                xAdapter.notifyDataSetChanged();
                xlist_view.stopRefresh(true);
                xlist_view.stopLoadMore();
            }else if(msg.what==1){
                int currentItem = view_pager_hear.getCurrentItem();
                currentItem++;
                view_pager_hear.setCurrentItem(currentItem);
                handler.sendEmptyMessageDelayed(1,2000);
            }

        }
    };

    public OneFragment() {
        // Required empty public constructor
    }
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        // Inflate the layout for this fragment
        View view = inflater.inflate(R.layout.fragment_one, container, false);
        xlist_view = view.findViewById(R.id.xlist_view);
        headView = View.inflate(getActivity(), R.layout.hear_layout, null);
        view_pager_hear = headView.findViewById(R.id.view_pager_hear);
        return view;
    }

    @Override
    public void onActivityCreated(@Nullable Bundle savedInstanceState) {
        super.onActivityCreated(savedInstanceState);

        //轮播图
		//xlistview添加viewpager头
        AbsListView.LayoutParams params = new AbsListView.LayoutParams(AbsListView.LayoutParams.MATCH_PARENT, 600);
        headView.setLayoutParams(params);

        xlist_view.addHeaderView(headView);


        xAdapter = new XAdapter(getActivity(), data);
        xlist_view.setAdapter(xAdapter);
        init();

        xlist_view.setPullRefreshEnable(true);
        xlist_view.setPullLoadEnable(true);
        xlist_view.setXListViewListener(new XListView.IXListViewListener() {
            @Override
            public void onRefresh() {
                path=1;
                init();
            }
            @Override
            public void onLoadMore() {
                path++;
                init();
            }
        });
    }

    private void init() {
        new Thread(){
            @Override
            public void run() {
                try {
                    URL url = new URL(http+path);
                    HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
                    urlConnection.setConnectTimeout(5000);
                    urlConnection.setReadTimeout(5000);
                    if(urlConnection.getResponseCode()==200){
                        InputStream inputStream = urlConnection.getInputStream();
                        ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
                        int len=-1;
                        byte[] bytes = new byte[1024];
                        while ((len=inputStream.read(bytes))!=-1){
                            byteArrayOutputStream.write(bytes,0,len);
                        }

                        String s = new String(byteArrayOutputStream.toByteArray());
                        Message message = new Message();
                        message.what=0;
                        message.obj=s;
                        handler.sendMessage(message);
                    }
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        }.start();
    }
}

猜你喜欢

转载自blog.csdn.net/weixin_42535797/article/details/81226174