ViewPage和WebView

xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context="com.bwie.xiaqin.youkaozjlx1.WebActivity">
    <android.support.v4.view.ViewPager
        android:id="@+id/page"
        android:layout_width="match_parent"
        android:layout_height="200dp"
        android:layout_weight="4"
        />
    <WebView
        android:id="@+id/web_view"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_weight="6"
        ></WebView>

</LinearLayout>

bean.java

package com.bwie.xiaqin.bean;

import java.util.List;

/**
 * Created by lenovo on 2018/8/24.
 */

public class MyPageBean {

    /**
     * code : 200
     * body : {"result":[{"BarnerPic":"https://yunxue-bucket.oss-cn-shanghai.aliyuncs.com/imgurl/banner/banner_1534744481374.jpg","BarnerName":"企业大学上线","BarnerType":1,"JumpType":0,"Url":"http://yunxuekeji.com/"},{"BarnerPic":"https://yunxue-bucket.oss-cn-shanghai.aliyuncs.com/imgurl/banner/banner_1533267193841.jpg","BarnerName":"从跟风者到破风手,你要了解的八大创新原则","BarnerType":1,"JumpType":1,"Url":"1357"},{"BarnerPic":"https://yunxue-bucket.oss-cn-shanghai.aliyuncs.com/imgurl/banner/banner_1533266571976.jpg","BarnerName":"《销售技巧》:业务员没客户的7大原因","BarnerType":1,"JumpType":1,"Url":"1356"}]}
     * message : Succes!
     */

    private int code;
    private BodyBean body;
    private String message;

    public int getCode() {
        return code;
    }

    public void setCode(int code) {
        this.code = code;
    }

    public BodyBean getBody() {
        return body;
    }

    public void setBody(BodyBean body) {
        this.body = body;
    }

    public String getMessage() {
        return message;
    }

    public void setMessage(String message) {
        this.message = message;
    }

    public static class BodyBean {
        private List<ResultBean> result;

        public List<ResultBean> getResult() {
            return result;
        }

        public void setResult(List<ResultBean> result) {
            this.result = result;
        }

        public static class ResultBean {
            /**
             * BarnerPic : https://yunxue-bucket.oss-cn-shanghai.aliyuncs.com/imgurl/banner/banner_1534744481374.jpg
             * BarnerName : 企业大学上线
             * BarnerType : 1
             * JumpType : 0
             * Url : http://yunxuekeji.com/
             */

            private String BarnerPic;
            private String BarnerName;
            private int BarnerType;
            private int JumpType;
            private String Url;

            public String getBarnerPic() {
                return BarnerPic;
            }

            public void setBarnerPic(String BarnerPic) {
                this.BarnerPic = BarnerPic;
            }

            public String getBarnerName() {
                return BarnerName;
            }

            public void setBarnerName(String BarnerName) {
                this.BarnerName = BarnerName;
            }

            public int getBarnerType() {
                return BarnerType;
            }

            public void setBarnerType(int BarnerType) {
                this.BarnerType = BarnerType;
            }

            public int getJumpType() {
                return JumpType;
            }

            public void setJumpType(int JumpType) {
                this.JumpType = JumpType;
            }

            public String getUrl() {
                return Url;
            }

            public void setUrl(String Url) {
                this.Url = Url;
            }
        }
    }
}

HttpUtils.java

package com.bwie.xiaqin.utils;

import android.os.AsyncTask;
import com.google.common.io.CharStreams;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;


/**
 * Created by lenovo on 2018/8/24.
 */

public class HttpUtils {
    private static final HttpUtils ourInstance = new HttpUtils();
    
    public static HttpUtils getInstance() {
        return ourInstance;
    }

    public HttpUtils() {
    }
    private Netcallback netcallback;
    public interface Netcallback {
        void onccess(String s);
    }

    public void setNetcallback(Netcallback netcallback) {
        this.netcallback = netcallback;
    }
    public void getServiceData(String url){
        new LotaData().execute(url);
    }
    class LotaData extends AsyncTask<String,Void,String>{

        @Override
        protected String doInBackground(String... strings) {
            try {
                URL url = new URL(strings[0]);
                HttpURLConnection connection = (HttpURLConnection) url.openConnection();
                connection.setConnectTimeout(5000);
                connection.setReadTimeout(5000);
                connection.setRequestMethod("GET");
                if (connection.getResponseCode() == HttpURLConnection.HTTP_OK){
                    return CharStreams.toString(new InputStreamReader(connection.getInputStream(),"utf-8"));
                    
                }
                
            } catch (Exception e) {
                e.printStackTrace();
            }
            return null;
        }

        @Override
        protected void onPostExecute(String s) {
            super.onPostExecute(s);
            if (netcallback != null){
                netcallback.onccess(s);
            }
        }

        
    }

    
}

 

MyPageAdapter.java

package com.bwie.xiaqin.adapter;

import android.support.annotation.NonNull;
import android.support.v4.view.PagerAdapter;
import android.view.View;
import android.view.ViewGroup;
import android.view.ViewParent;
import android.widget.ImageView;

import com.bwie.xiaqin.bean.MyPageBean;

import java.util.List;

/**
 * Created by lenovo on 2018/8/24.
 */

public class MyPageAdapter extends PagerAdapter {
    private List<ImageView> list;

    public MyPageAdapter(List<ImageView> list) {
        this.list = list;
    }

    @Override
    public int getCount() {
        return Integer.MIN_VALUE;
    }

    @Override
    public boolean isViewFromObject(@NonNull View view, @NonNull Object object) {
        return view == object;
    }

    @NonNull
    @Override
    public Object instantiateItem(@NonNull ViewGroup container, int position) {
        ImageView imageView = list.get(position % list.size());
        ViewGroup parent = (ViewGroup) imageView.getParent();
        if (parent!=null){
            parent.removeView(imageView);
        }
        container.addView(imageView);
        return imageView;
    }

    @Override
    public void destroyItem(@NonNull ViewGroup container, int position, @NonNull Object object) {
        container.removeView((View) object);
    }
}

webActivity.java

package com.bwie.xiaqin.youkaozjlx1;


import android.os.Handler;
import android.os.Message;
import android.support.v4.view.ViewPager;
import android.os.Bundle;
import android.webkit.WebChromeClient;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.ImageView;
import com.bwie.xiaqin.Base.BaseActivity;
import com.bwie.xiaqin.adapter.MyPageAdapter;
import com.bwie.xiaqin.bean.MyPageBean;
import com.bwie.xiaqin.utils.HttpUtils;
import com.google.gson.Gson;
import com.nostra13.universalimageloader.core.ImageLoader;
import java.util.ArrayList;
import java.util.List;

public class WebActivity extends BaseActivity implements HttpUtils.Netcallback {
    private List<ImageView> list = new ArrayList<>();
    private HttpUtils httpUtils;
    private ViewPager page;
    private String url;
    private WebView web_view;
    private String peath = "https://api.yunxuekeji.cn/yunxue_app_api/content/getIndexBanner/1";
    private Handler handler = new Handler(){
        @Override
        public void handleMessage(Message msg) {
            switch (msg.what){
                case 1:
                    int currentItem = page.getCurrentItem();
                    currentItem++;
                    page.setCurrentItem(currentItem);
                    sendEmptyMessageDelayed(1,2000);
                    break;
            }
        }
    };
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_web);
      httpUtils = HttpUtils.getInstance();
      httpUtils.getServiceData(peath);
       httpUtils.setNetcallback(this);
        initview();
    }
    private void initview() {
        page = findViewById(R.id.page);
        web_view = findViewById(R.id.web_view);

       url = getIntent().getStringExtra("url");
        web_view.setWebChromeClient(new WebChromeClient());
        web_view.setWebViewClient(new WebViewClient());
        web_view.loadUrl(url);

    }

    @Override
    public void onccess(String s) {
        Gson gson = new Gson();
        MyPageBean myPageBean = gson.fromJson(s, MyPageBean.class);
        for (MyPageBean.BodyBean.ResultBean resultBean:myPageBean.getBody().getResult()){
            ImageView imageView = new ImageView(this);
            imageView.setScaleType(ImageView.ScaleType.FIT_XY);
            ImageLoader.getInstance().displayImage(resultBean.getBarnerPic(),imageView);
            list.add(imageView);
        }
        page.setAdapter(new MyPageAdapter(list));
        handler.sendEmptyMessageDelayed(1,2000);
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值