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

Android Studio应用运行时屏幕中央出现异常矩形框求助

解决移除ActionBar后出现System UI无响应且无按钮的问题
  • 问题根源:你在调用super.onCreate(savedInstanceState)之前就执行了ActionBar隐藏操作,这会打乱AppCompatActivity的初始化流程。父类的onCreate方法负责完成包括ActionBar在内的系统UI基础初始化,提前调用hide()会干扰System UI的正常启动逻辑,进而引发无响应提示且按钮缺失的异常。

  • 修正后的代码:

package com.example.mywebapplication;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.webkit.WebView;
import androidx.appcompat.app.ActionBar;

public class MainActivity extends AppCompatActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        // 优先执行父类初始化逻辑
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
        // 待系统UI初始化完成后,再隐藏ActionBar
        ActionBar actionBar = getSupportActionBar();
        if (actionBar != null) {
            actionBar.hide();
        }        
        
        WebView webView = (WebView) findViewById(R.id.webview);
        webView.getSettings().setJavaScriptEnabled(true);
        webView.loadUrl("file:///android_asset/index.html");
    }
}
  • 更稳妥的替代方案:如果你的需求是彻底移除ActionBar,直接在AndroidManifest.xml中给目标Activity设置无ActionBar主题即可,无需在代码中手动处理,能避免因代码顺序问题引发的异常:
<activity
    android:name=".MainActivity"
    android:theme="@style/Theme.AppCompat.NoActionBar">
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
</activity>

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 21:57:08