ImageView 的handler切换循环

来源:互联网 发布:数据统计流程ppt 编辑:程序博客网 时间:2024/06/08 14:38

activity_main.xml

<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:tools="http://schemas.android.com/tools"    android:layout_width="match_parent"    android:layout_height="match_parent">    <ImageView        android:id="@+id/image_view"        android:scaleType="fitXY"        android:layout_width="match_parent"        android:layout_height="200dp" /></RelativeLayout>

— ———————— ——————— ————————————————— ———————————————— —————————————

MainActivity 

——----——————-- -_______——————————————————————————————————————————————

package news1510a.bawei.com.a17_demo;import android.os.AsyncTask;import android.os.Bundle;import android.os.Handler;import android.os.Message;import android.support.v7.app.AppCompatActivity;import android.widget.ImageView;import com.google.gson.Gson;import com.nostra13.universalimageloader.core.ImageLoader;import java.io.IOException;import java.io.InputStream;import java.net.HttpURLConnection;import java.net.MalformedURLException;import java.net.URL;import java.util.ArrayList;import java.util.List;public class MainActivity extends AppCompatActivity {    private ImageView imageView;    private List<String> list = new ArrayList<>();    private int index = 0;    private Handler handler = new Handler(){        @Override        public void handleMessage(Message msg) {            if (msg.what == 0){                //街道消息之后,,,切换图片显示                index ++;                ImageLoader.getInstance().displayImage(list.get(index %list.size()),imageView,ImageLoaderUtil.getDefaultOption());                //再次发送                handler.sendEmptyMessageDelayed(0,3000);            }        }    };    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        imageView = (ImageView) findViewById(R.id.image_view);        getDataFromNet();    }    private void getDataFromNet() {        AsyncTask<Void, Void, String> asyncTask = new AsyncTask<Void, Void, String>() {            @Override            protected String doInBackground(Void... voids) {                try {                    URL url = new URL("http://apis.juhe.cn/cook/query?key=65481ae0fb17703c15a794aebaec93c5&menu=%E8%A5%BF%E7%BA%A2%E6%9F%BF&rn=10&pn=3");                    HttpURLConnection connection = (HttpURLConnection) url.openConnection();                    connection.setRequestMethod("GET");                    connection.setReadTimeout(5000);                    connection.setConnectTimeout(5000);                    int responseCode = connection.getResponseCode();                    if (responseCode == 200){                        InputStream inputStream = connection.getInputStream();                        String json = StringUtil.streamToString(inputStream,"utf-8");                        return json;                    }                } catch (MalformedURLException e) {                    e.printStackTrace();                } catch (IOException e) {                    e.printStackTrace();                }                return null;            }            @Override            protected void onPostExecute(String s) {                //解析                Gson gson = new Gson();                DataDataBean dataDataBean = gson.fromJson(s, DataDataBean.class);                List<DataDataBean.ResultBean.DataBean.StepsBean> steps = dataDataBean.getResult().getData().get(0).getSteps();                for (DataDataBean.ResultBean.DataBean.StepsBean st: steps) {                    list.add(st.getImg());                }                //现在图片集合有数据,,,,展示图片,,,展示第一张图片                ImageLoader.getInstance().displayImage(list.get(0),imageView,ImageLoaderUtil.getDefaultOption());                //发送延时消息                handler.sendEmptyMessageDelayed(0,3000);            }        };        asyncTask.execute();    }}
————————————————————————————————————————————————

原创粉丝点击