提问人:Matin Javid 提问时间:11/12/2023 更新时间:11/12/2023 访问量:21
在一个 Android WebView 中显示两个 WebViewClientDisplay two WebViewClients in one Android WebView
Display two WebViewClients in one Android WebView
问:
我正在制作一个 Android 网页视图。 我的问题是我想在 webview 和 activity 中同时显示两段代码,但其中只有一段有效。
代码 1:
p_webview.setWebViewClient(new WebViewClient(){
@Override
public void onReceivedError(WebView p_view,WebResourceRequest p_wrr,WebResourceError p_wre){
super.onReceivedError(p_view,p_wrr,p_wre);
p_webview.loadUrl("file:///android_asset/error.html");
}});
代码 2:
p_webview.setWebViewClient(new WebViewClient(){
@Override
public boolean shouldOverrideUrlLoading(WebView p_view,WebResourceRequest p_wrr){
p_intent_browser=new Intent(Intent.ACTION_VIEW,p_wrr.getUrl());
p_view.getContext().startActivity(p_intent_browser);
return true;
}});
您可以在下面看到我的原始代码: MainActivity.java:
package com.app;
import android.content.Intent;
import android.os.Bundle;
import android.webkit.WebResourceError;
import android.webkit.WebResourceRequest;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import androidx.appcompat.app.AppCompatActivity;
public class MainActivity extends AppCompatActivity{
public WebView p_webview;
@Override
protected void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_majn);
p_webview=(WebView)findViewById(R.id.p_webview_proxy);
p_webview.setWebViewClient(new WebViewClient());
p_webview.getSettings().setJavaScriptEnabled(true);
p_webview.loadUrl("file:///android_asset/index.html");
p_webview.setWebViewClient(new WebViewClient(){
@Override
public void onReceivedError(WebView p_view,WebResourceRequest p_wrr,WebResourceError p_wre){
super.onReceivedError(p_view,p_wrr,p_wre);
p_webview.loadUrl("file:///android_asset/error.html");
}});
p_webview.setWebViewClient(new WebViewClient(){
@Override
public boolean shouldOverrideUrlLoading(WebView p_view,WebResourceRequest p_wrr){
Intent p_intent_browser=new Intent(Intent.ACTION_VIEW,p_wrr.getUrl());
p_view.getContext().startActivity(p_intent_browser);
return true;
}});
}
}
activity_main.xml:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<WebView
android:id="@+id/webview"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
</LinearLayout>
谢谢!
答: 暂无答案
评论