You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MainActivity点击WebView链接跳转MainActivity2并加载相同URL如何实现

你的代码不生效的核心原因是没有将点击的URL参数从MainActivity传递到MainActivity2,MainActivity2无法获取到需要加载的目标地址,自然无法正常加载。按照以下两步修改即可实现需求:

步骤1:修改MainActivity的跳转逻辑,携带URL参数

在创建跳转Intent时,通过putExtra方法将匹配到的URL作为参数传入:

@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
    if (url.endsWith(".html")) {
        Intent intent = new Intent(view.getContext(), MainActivity2.class);
        // 新增:将目标URL存入Intent
        intent.putExtra("TARGET_LOAD_URL", url);
        view.getContext().startActivity(intent);
        return true;
    }
    return super.shouldOverrideUrlLoading(view, url);
}

步骤2:修改MainActivity2的加载逻辑,接收参数后加载

在MainActivity2的onCreate生命周期中先取出Intent携带的URL参数,判空后再调用WebView加载,注意loadUrl方法本身支持直接传入字符串类型的URL,无需额外转Uri:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main2);
    // 替换为你布局文件里WebView的实际ID
    WebView myWebView = findViewById(R.id.webview);
    
    // 接收传入的URL参数
    String targetUrl = getIntent().getStringExtra("TARGET_LOAD_URL");
    if (targetUrl != null && !targetUrl.isEmpty()) {
        myWebView.loadUrl(targetUrl);
    }
}

如果修改后加载出现空白,可检查是否已在AndroidManifest.xml中添加网络权限:

<uses-permission android:name="android.permission.INTERNET" />

内容的提问来源于stack exchange,提问作者Jarosław Król

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 17:30:00