自动轮播+获取网络json
来源:互联网 发布:用手机淘宝注册账号 编辑:程序博客网 时间:2024/05/29 17:21
public class MainActivity extends Activity {
private ViewPager vg;
private ListView lv;
private List data;
//接口*重点内容*
String jurl = “http://v.juhe.cn/toutiao/index?type=top&key=dbedecbcd1899c9785b95cc2d17131c5“;
//更新
Handler h = new Handler(){
public void handleMessage(android.os.Message msg) {
int s=msg.what;
switch (s) {
case 0:
String sf=(String)msg.obj;
sts(sf);
break;
case 1:
int stt=vg.getCurrentItem();
stt++;
vg.setCurrentItem(stt);
h.sendEmptyMessageDelayed(1,2000);
break;
default:
break;
}
};
};
@Overrideprotected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); lv = (ListView) findViewById(R.id.lv); new MyAsynctssk().execute(jurl); **//线程启动** vg = (ViewPager) findViewById(R.id.vg); new Thread(){ public void run() { String getjson = new NetWorkUtils().getjson(jurl); h.sendMessage(h.obtainMessage(0, getjson)); }; }.start();}private void sts (String st){**//json解析** Gson gson = new Gson(); MySuperClass json = gson.fromJson(st, MySuperClass.class); List<Data> data = json.getResult().getData(); vg.setAdapter(new Pager(MainActivity.this, data)); h.sendEmptyMessageDelayed(1,2000);}class MyAsynctssk extends AsyncTask<String, Integer, String>{ @Override protected String doInBackground(String... params) { String string = params[0]; NetWorkUtils utils = new NetWorkUtils(); String getjson = utils.getjson(string); return getjson; } @Override protected void onPostExecute(String result) { // TODO Auto-generated method stub super.onPostExecute(result); Gson gson = new Gson(); MySuperClass json = gson.fromJson(result, MySuperClass.class); List<Data> data = json.getResult().getData(); lv.setAdapter(new MyAdapter(data)); }}**//适配器** class MyAdapter extends BaseAdapter{ List<Data> data; public MyAdapter(List<Data> data) { super(); this.data = data; } @Override public int getCount() { // TODO Auto-generated method stub return data.size(); } @Override public Object getItem(int position) { // TODO Auto-generated method stub return data.get(position); } @Override public long getItemId(int position) { // TODO Auto-generated method stub return position; } @Override public View getView(int position, View convertView, ViewGroup parent) { MyHolder holder; if(convertView == null){ convertView = LayoutInflater.from(MainActivity.this).inflate(R.layout.layout_zi, parent, false); holder = new MyHolder(); holder.tv = (TextView) convertView.findViewById(R.id.title); holder.message = (ImageView) convertView.findViewById(R.id.message); convertView.setTag(holder); }else{ holder = (MyHolder) convertView.getTag(); } Data item = (Data) getItem(position); holder.tv.setText(item.getTitle()); String thumbnail_pic_s = item.getThumbnail_pic_s(); ImageLoader instance = ImageLoader.getInstance(); instance.displayImage(thumbnail_pic_s, holder.message); return convertView; } class MyHolder{ private TextView tv; private ImageView message; } } class Pager extends PagerAdapter{ private Context context; private List<Data> list; private ImageLoader imageLoader; public Pager(Context context, List<Data> list) { super(); this.context = context; this.list = list; imageLoader=ImageLoader.getInstance(); } @Override public void destroyItem(ViewGroup container, int position, Object object) { // TODO Auto-generated method stub container.removeView((View)object); } @Override public int getCount() { // TODO Auto-generated method stub return Integer.MAX_VALUE; } @Override public Object instantiateItem(ViewGroup container, int position) { // TODO Auto-generated method stub ImageView imageView = new ImageView(context); imageView.setScaleType(ImageView.ScaleType.FIT_XY); imageLoader.displayImage(list.get(position%list.size()).getThumbnail_pic_s(), imageView); container.addView(imageView); return imageView; } @Override public boolean isViewFromObject(View arg0, Object arg1) { // TODO Auto-generated method stub return arg0==arg1; }}}
- 自动轮播+获取网络json
- 获取网络图片+ViewPager+自动轮播
- 从网络获取图片进行自动轮播以及其他
- 关于banner获取网络图片设置自动轮播
- 网络获取图片实现无线自动轮播
- ViewPager自动轮播+网络请求图片
- Viewpager无限自动轮播(网络请求)
- ViewPager自动轮播(获取网络资源)
- Android中ConvenientBanner的使用--获取网络图片 --(实现效果是自动轮播图片)
- 无线自动轮播,获取网络上的图片+scrollView+listView 联动
- 自动轮播,网络获取图片并且点击跳转详细页面
- 自动轮播图
- 自动轮播
- 自动轮播条
- 自动轮播
- ViewPager自动轮播
- 自动轮播
- 自动轮播
- Excel中CTRL+D的别样用法 隔行和隔列向下填充示例
- 玩转html5<canvas>画图
- 畅通工程--并查集(水)
- web前端day01
- VGGNet
- 自动轮播+获取网络json
- Android进阶#(7/12)装点程序“门面”——代码规范_注释
- Python3 PyQt5 pycharm 环境搭建
- Caffe学习-手写数字识别
- js 去除数组中的某一项
- 工厂模式以及工厂方法
- hdu 6170 正则表达式应用
- android 源码在线阅读网址
- javaweb 项目的系统权限管理