一个基础的webview

来源:互联网 发布:中国移动软件开发公司 编辑:程序博客网 时间:2024/06/05 03:51
package com.jin.bianminservice.ui;

import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.util.Log;
import android.view.View;
import android.webkit.WebChromeClient;
import android.webkit.WebSettings;
import android.webkit.WebSettings.LayoutAlgorithm;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.ImageView;
import android.widget.TextView;

import com.jin.bianminservice.R;
import com.jin.bianminservice.bean.MsgBean;
import com.jin.bianminservice.common.MyThreadPool;

public class WebActivity extends Activity implements View.OnClickListener {

    private ImageView backIv;

    private WebView contentWv;

    private TextView titleTv;

    private String type;

    private final Handler mHandler = new Handler() {

        @Override
        public void handleMessage(final Message msg) {
            switch (msg.what) {
            case 0:
                //                cancelPd();
                Object[] mo = (Object[]) msg.obj;
                if (mo[0].toString().equals("0")) {
                    //                    setData((NoticeInfoBean) mo[1]);
                } else if (mo[0].toString().equals("-1")) {
                    MsgBean mb = (MsgBean) mo[1];
                    if (mb != null) {
                        //                        ToastUtils.toast(WebActivity.this, mb.getMessage());
                    } else {
                        //                        ToastUtils.toastDataError(WebActivity.this);
                    }
                } else {
                    //                    ToastUtils.toastNetError(WebActivity.this);
                }
                break;
            }
        };
    };

    @Override
    protected void onCreate(final Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_web);

        String title = getIntent().getStringExtra("title");
        String html = getIntent().getStringExtra("html");
        String url = getIntent().getStringExtra("url");

        type = getIntent().getStringExtra("type");

        backIv = (ImageView) findViewById(R.id.web_iv_back);
        titleTv = (TextView) findViewById(R.id.web_tv_title);
        contentWv = (WebView) findViewById(R.id.web_wv_content);

        backIv.setOnClickListener(this);

        initWv();

        titleTv.setText(title);
        if (html != null) {
            contentWv.loadData(html, "text/html; charset=UTF-8", null);
        } else if (url != null) {
            //            showPd();
            contentWv.loadUrl(url);
        }
    }

    private void initWv() {

       // 初始化webview    

        WebSettings settings = contentWv.getSettings();
        settings.setJavaScriptEnabled(true);
        settings.setLayoutAlgorithm(LayoutAlgorithm.NORMAL);
        settings.setUseWideViewPort(true);
        settings.setLoadWithOverviewMode(true);
        contentWv.setWebViewClient(new WebViewClient() {


            @Override
            public boolean shouldOverrideUrlLoading(final WebView view, final String url) {
                Log.i("hehe", ">>" + url);
                if (url.contains("closewindow")) {
                    if (type != null && type.equals("finish")) {
                        //                        if(MyOrderActivity1.myOrder1Intance != null) {
                        //                            MyOrderActivity1.myOrder1Intance.finish();
                        //                        }
                    }
                    //                    Intent intent = new Intent(WebActivity.this, MyOrderActivity1.class);
                    //                    intent.putExtra("all", "3");
                    //                    startActivity(intent);
                    //                    finish();
                } else {
                    view.loadUrl(url);
                }
                return true;
            }
        });
        contentWv.setWebChromeClient(new WebChromeClient() {

            @Override
            public void onProgressChanged(final WebView view, final int newProgress) {
                super.onProgressChanged(view, newProgress);
                if (newProgress > 90) {
                    //                    cancelPd();
                }
            }
        });

    }

    private void initData() {
        //        showPd();
        MyThreadPool.getInstance().doTask(new Runnable() {

            @Override
            public void run() {}
        });
    }

 

    @Override
    public void onClick(final View v) {
        switch (v.getId()) {
        case R.id.web_iv_back:

            if (contentWv.canGoBack()) {
                    contentWv.goBack(); //后退    
                } else {
                    cancelPd();
                    finish();
                }


            finish();
            break;
        }
    }

}

0 0
原创粉丝点击