Banner轮播图,OK直接展示网络数据

banner = (Banner) inflate.findViewById(R.id.banner);

banner.setOnClickListener(this);

}

private void initData() {

//  banner.setImageLoader(new )

    OkHttpClient okHttpClient =new OkHttpClient();

Request request =new Request.Builder()

.url("http://seven.haoyunyun.cn/pictureShow")

.build();

Call call = okHttpClient.newCall(request);

//用OkHttp里面的Call对象打点调用 异步请求数据的抽象方法

    call.enqueue(new Callback() {

//建个集合用来存放图片url的地址

        private ListpicUrlList;

//此集合是bean解析过来的集合

        private Listlist;

@Override

        public void onFailure(Call call, IOException e) {

//访问网络失败的方法(自动生成的)

        }

//访问网络成功的方法(自动生成的)

        @Override

        public void onResponse(Call call, Response response)throws IOException {

//把数据流转换成json字符串

            String json = response.body().string();

Log.e("++++++++","这是访问到的数据:"+json);

//开始用gson解析

            Gson gson =new Gson();

Tu ladyBean = gson.fromJson(json, Tu.class);

//拿到bean类里的集合

            list = ladyBean.getList();

//  Log.e("++++++++","这是bean集合里的数据:"+list);

//设全局此集合专门用来存放图片url地址的

            picUrlList =new ArrayList();

for (int i =0; i

listBean =list.get(i);

//循环把图片地址添加到string泛型的集合里

                picUrlList.add(list.get(i).getShow_img());

}

//  Log.e("++++++++","这是专门存放图片url集合里的数据:"+picUrlList);

//子线程不能更新住UI

//所以 【必须】 开启返回主线程的方法

            getActivity().runOnUiThread(new Runnable() {

@Override

                public void run() {

//把更新主UI视图的代码放这里面

//.setImagees(把图片地址集合)

//.setImageLoader(new你的Glid类)

//.start开始装逼吧

                    banner.setImages(picUrlList).setImageLoader(new ImageLoader() {

@Override

                        public void displayImage(Context context, Object path, ImageView imageView) {

String show_img =listBean.getShow_img();

show_img=(String) path;

Glide.with(context).load(path).into(imageView);

}

}).start();

banner.setDelayTime(200);

banner.isAutoPlay(true);

}

});

}

});

}

你可能感兴趣的:(Banner轮播图,OK直接展示网络数据)