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

加载WebView导致布局中其他View无法显示的问题求助

问题解决:让WebView与TextView同时显示

我一眼就揪出问题所在了!你在onCreate方法里调用了两次setContentView,第二次直接把WebView单独设置成了整个界面的内容——相当于你先加载了包含TextView的完整布局,随后又把整个界面替换成了只有WebView的状态,TextView自然就被覆盖消失了。

修正后的SomeActivity.java代码

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    // 只需要调用一次,加载包含WebView和TextView的完整布局
    setContentView(R.layout.activity_profiling_result); 

    // 直接从布局中获取已存在的WebView实例
    WebView webView = findViewById(R.id.temp_web_view); 
    
    // 配置WebView并加载目标URL
    webView.getSettings().setJavaScriptEnabled(true); 
    String WEB_URL = "https://www.google.ca/"; 
    webView.loadUrl(WEB_URL); 
}

为什么原来的代码会失效?

  • 你一开始正确加载了activity_profiling_result.xml布局,但随后执行的((ViewGroup)webView.getParent()).removeView(webView)和setContentView(webView),相当于把WebView从原布局中剥离,然后让它独占整个界面,原本的TextView就被彻底丢弃了。
  • 你的XML布局本身完全符合需求:RelativeLayout中WebView固定高度300dp,TextView通过android:layout_alignParentBottom="true"固定在底部,只要正常加载这个布局就能实现预期效果。

确认XML布局无需修改

你的activity_profiling_result.xml完全没问题,保持原样即可:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

    <WebView
        android:id="@+id/temp_web_view"
        android:layout_width="match_parent"
        android:layout_height="300dp" />

    <TextView
        android:id="@+id/temp_text_view"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:text="Test Text" />

</RelativeLayout>

修改后运行,WebView会显示在顶部300dp高度的区域,TextView固定在屏幕底部,两者就能同时正常显示啦!

内容的提问来源于stack exchange,提问作者Noma Citzen

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 10:08:56