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直接展示网络数据
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- 自己备忘,随便写 android网络框架源码解析及对比 android常用网络框架对比 Volley: 特点 基于...
- 项目要求用json提交参数,以前在网上找的别的大神(忘了是谁)封装的NetUtils工具不适应了,在网上也没找到适...