Handler三秒更换图片

来源:互联网 发布:linux 退出编辑命令 编辑:程序博客网 时间:2024/04/30 04:01
package com.bwie.pm.page;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.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import android.widget.GridView;import android.widget.ImageView;import com.bwie.pm.R;import com.bwie.pm.adapter.GvAdapter;import com.bwie.pm.bean.GvBean;import com.bwie.pm.bean.JsonBean;import com.google.gson.Gson;import com.nostra13.universalimageloader.core.ImageLoader;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.net.HttpURLConnection;import java.net.MalformedURLException;import java.net.URL;import java.util.ArrayList;import java.util.List;/** * author:Created by WangZhiQiang on 2017/10/25. */public class PageShou extends Fragment {    private View view;    private ImageView img;    private GridView gv;    private int pageNum = 1;    private ArrayList<GvBean> list = new ArrayList<GvBean>();    private ArrayList<String> imglist = new ArrayList<String>();    @Nullable    @Override    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {        view = inflater.inflate(R.layout.layout_shou, container, false);        return view;    }    @Override    public void onActivityCreated(@Nullable Bundle savedInstanceState) {        super.onActivityCreated(savedInstanceState);        img = view.findViewById(R.id.img);        gv = view.findViewById(R.id.gv);        initData();//初始化数据    }    Handler handler1 = new Handler(){        @Override        public void handleMessage(Message msg) {            super.handleMessage(msg);            ImageLoader.getInstance().displayImage(imglist.get( msg.what),img);        }    };    Handler handler = new Handler() {        @Override        public void handleMessage(Message msg) {            super.handleMessage(msg);            Gson gson = new Gson();            JsonBean jsonBean = gson.fromJson((String) msg.obj, JsonBean.class);            List<JsonBean.NewslistBean> newslist = jsonBean.getNewslist();            for (int i = 0; i < newslist.size(); i++) {                String img = newslist.get(i).getPicUrl();                String title = newslist.get(i).getTitle();                list.add(new GvBean(img, title));                imglist.add(img);            }            gv.setAdapter(new GvAdapter(getActivity(),list));            initImg();        }    };    private void initImg(){        new Thread(){            @Override            public void run() {                super.run();                int i = 0;                while (true) {                    handler1.sendEmptyMessage(i);                    try {                        sleep(3000);                    } catch (InterruptedException e) {                        e.printStackTrace();                    }                    i++;                    if(i==imglist.size()){                        i=0;                    }                }            }        }.start();    }    private void initData() {        new Thread() {            @Override            public void run() {                super.run();                try {                    URL url = new URL("https://api.tianapi.com/wxnew/?key=8d6e3228d25298f13af4fc40ce6c9679&num=10&page=" + pageNum);                    HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();                    int responseCode = urlConnection.getResponseCode();                    InputStream inputStream = urlConnection.getInputStream();                    if (responseCode == 200) {                        BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));                        StringBuilder builder = new StringBuilder();                        String stringTemp = "";                        while ((stringTemp = reader.readLine()) != null) {                            builder.append(stringTemp);                        }                        Message message = new Message();                        message.obj = builder.toString();                        handler.sendMessage(message);                    }                } catch (MalformedURLException e) {                    e.printStackTrace();                } catch (IOException e) {                    e.printStackTrace();                }            }        }.start();    }}
原创粉丝点击