【Android】webView实现浏览网页
本文最后更新于 1648 天前,其中的信息可能已经有所发展或是发生改变。

webView

实现点击新闻通过app内置的浏览器进行浏览,而不是跳到第三方的浏览器打开链接。

1.编辑浏览器页面。

MyApplication/app/src/main/res/layout/news_web.xml

<?xml version="1.0" encoding="utf-8"?>
<WebView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/new_web"
android:layout_width="match_parent"
android:layout_height="match_parent">
</WebView>

2.编写处理web请求的类

MyApplication/app/src/main/java/com/example/myapplication/NewsActivity.java

package com.example.myapplication;

import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.webkit.WebResourceRequest;
import android.webkit.WebView;
import android.webkit.WebViewClient;

public class NewsActivity extends AppCompatActivity {

    private WebView webView;
    private long exitTime = 0;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        Intent intent = getIntent();
        //获得转跳的url
        String content_url = intent.getStringExtra("content_url");
        setContentView(R.layout.news_web);
        webView = findViewById(R.id.new_web);
        webView.setWebViewClient(new WebViewClient() {
            //设置在webView点击打开的新网页在当前界面显示,而不跳转到新的浏览器中
            @Override
            public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) {
                return super.shouldOverrideUrlLoading(view, request);
            }
        });
        webView.getSettings().setJavaScriptEnabled(true);
        webView.loadUrl(content_url);
    }

    /**
     * 返回的方法
     */
    @Override
    public void onBackPressed() {
        if (webView.canGoBack()) {
            webView.goBack();
        } else {
            if ((System.currentTimeMillis() - exitTime) > 2000) {
                //单击返回
                finish();
            } else {
                //双击退出当前浏览器
                super.onBackPressed();
            }

        }
    }
}

3.再主线程进行调用。
下面只列出onCreate方法,通过intent进行传url的值。
MyApplication/app/src/main/java/com/example/myapplication/NewsActivity.java

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    //默认加载的页面
    setContentView(R.layout.activity_main);
    mListView = (ListView) findViewById(R.id.new_main);

    //点击事件
    mListView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
            //获得保存网址的隐藏对象
            TextView content= (TextView) view.findViewById(R.id.new_content);
            //传递的activity
            Intent intent = new Intent(MainActivity.this, NewsActivity.class);
            //保存参数
            intent.putExtra("content_url", content.getText().toString());
                //向下传值
            startActivity(intent);
        }
    });
    //发起URL请求
    new NewsAsyncTask().execute(URL);
}
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇