有没有办法检查 android WindowManager 是否已经包含视图?

2024-06-22

当我尝试执行 WindowManager.removeView() 时,

E/AndroidRuntime( 2445): java.lang.IllegalArgumentException: View=android.widget.LinearLayout{41a03700 V.E..... ......I. 0,0-0,0} not attached to window manager

E/AndroidRuntime( 2445):             at android.view.WindowManagerGlobal.findViewLocked(WindowManagerGlobal.java:370)

E/AndroidRuntime( 2445):             at android.view.WindowManagerGlobal.removeView(WindowManagerGlobal.java:299)

E/AndroidRuntime( 2445):             at android.view.WindowManagerImpl.removeView(WindowManagerImpl.java:79)

我收到此致命错误是因为该视图不在窗口管理器中。 有没有办法检查windowmanager之前是否已经添加了视图? 我在中没有看到任何这样的方法source https://android.googlesource.com/platform/frameworks/base/+/211370fd943cf26905001b38b8b1791851b26adc/core/java/android/view/WindowManagerImpl.java


您可以检查视图的窗口标记是否为空:

if(view.getWindowToken() != null){
    WindowManager.removeView(view);
}

您也可以捕获异常:

try{
    WindowManager.removeView(view);
}catch(IllegalArgumentException e){
    Log.e(debug_tag, "view not found");
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

有没有办法检查 android WindowManager 是否已经包含视图? 的相关文章

  • Xamarin 代码安全

    我正在开发一个涉及付款的应用程序 我将在应用程序中采用某种加密 并在服务器后端采用某种加密和安全性 我想知道如何保护我的 Xamarin 代码 特别是在部署到 Android 时 我知道 Xamarin iOS 转换为本机代码 但 Xama
  • Android 如何在多个动画上添加一些延迟?

    我想要的是下面的代码中的每个动画都以延迟开始 就像一个序列一样 所以我有这个代码 public void setAnimation View view String animation prefs getString animations
  • Android Volley NetworkDispatcher

    我的应用程序从网络服务加载大量数据 并且我正在使用 volley 库来处理网络请求 Volley 正在堆叠 NetworkDispatcher 对象并最终导致应用程序崩溃 我用DDMS堆转储进行了测试 http spragucm wordp
  • 使用 getIntent().getExtras().getString 时出现 nullpointerException

    我想将一个活动中的值传递给另一个活动并使用此代码 Intent i new Intent MainActivity this ListActivity class i putExtra position startActivity i 并在
  • Clang PCH 性能比标头差?

    我在源文件中包含一组标头 这些标头很少 从未更改 解析 重新解析使用标头的频繁更改的源文件 IDE 用例 需要太长时间 几秒钟 作为提高性能的一种方式 我想使用 Clang PCH 请注意 我正在 Android 上以发布模式 99 确定
  • MVP 项目中包结构的最佳实践

    我有一个使用 MVP 架构的 Android Studio 项目 对于这种风格的项目 建议的包结构是什么 我们可以做的 app screen name activityA presenterA interfaceA or activitie
  • 将 timeout() 与 retryWhen() 结合起来

    我正在创建一个简单的应用程序 用于使用 RxAndroidBle 库连接蓝牙设备 干杯 大家干得好 我遇到的情况是 有时当我连接到设备时 我会收到状态为 133 的 Gatt 错误 我知道这可能会发生 所以我想做的就是在发生错误时重试所有操
  • Firebase 令牌身份验证错误

    我正在使用 firebase 存储上传文件 但是当我上传时出现此错误 E StorageUtil error getting token java util concurrent ExecutionException com google
  • System.LoadLibrary(libname) 在 Javacv 代码中的 Nvidia Tegra 2 芯片组 (Android Samsung Tab) 上崩溃

    我在 Android 中使用了一个自定义相机Javacv代码 https code google com p javacv 我没有包含所有 so 文件 而仅包含我的应用程序似乎需要的那些文件 如下面的屏幕截图所示 它在三星 Galaxy S
  • 如何在android项目中使用Roboto字体[重复]

    这个问题在这里已经有答案了 我开发了一个android项目 在此项目中 文本字体默认为 android sans 现在我想将整个项目的默认文本字体替换为 roboto 字体 我怎样才能做到这一点 您可以从这里下载 Roboto 字体 htt
  • Android SDK Lint 工具忽略 NewAPI 警告

    我正在从 Eclipse Android SDK 运行 Lint 工具 我的设置是默认设置 并且 NewApi 在我的 Android Lint 设置中设置为错误 然而 当我运行 Lint 时 通过Package Explorer gt A
  • android下拉刷新列表视图出错

    我正在使用功能下拉来刷新library https github com chrisbanes Android PullToRefresh克里斯班斯的 但是当我尝试在我的 xml 文件中导入这个小部件时 它向我显示以下错误 请帮助我如何解决
  • 从我的应用程序中搜索 Youtube 应用程序中的特定字符串

    我有一个按钮 当我点击它时 我想调用 Youtube 应用程序并搜索预定义的字符串 搜索字符串是不变的 我的意思是 Youtube 应用程序将自动显示结果 我知道为了搜索频道 我们输入 Intent intent new Intent In
  • 待定意图的多个实例

    我创建了一个小部件 单击该小部件会激活 PendingIntent 问题是 当我屏幕上有多个小部件时 只有最新的小部件才会启动 PendingIntent 我读过一些关于独特请求代码的内容 但没有弄清楚这一点 有什么想法可以让多个小部件和
  • Progruard 和 R8 已弃用 - Android Studio 3.6

    将 Android Studio 升级到 3 6 后 我收到了有关 Proguard 和 R8 的弃用警告 这是否意味着我们不应该在项目中使用混淆 或者在发布模式下构建时我们应该考虑另一个等效选项 选项 android enableR8 已
  • Android:在服务器端验证应用程序的完整性

    我正在编写一个通过 HTTPS 与服务器应用程序进行通信的 Android 应用程序 在服务器端 我必须绝对确定 Android 应用程序的完整性 这意味着服务器应用程序需要确保它与我开发的 Android 应用程序通信 而不是与重写的应用
  • 如何获取已发送短信的送达报告?

    In my Application我正在使用发送短信SMS Manager 要检查消息是否已发送 我正在使用Toast 代替Toast我想要得到SMS Delivery Report我正在尝试很多例子 但是 一个流程不显示递送报告 例如当我
  • 使用 Kotlin 在 Android 中渲染 PDF

    我已经在使用 Java 的 PDF 上看到了该线程 但找不到任何有关如何使用 Kotlin 执行此操作的信息 有什么方法或者我需要使用Java吗 在 Android 上使用 Java 渲染 PDF 文件 https stackoverflo
  • 使用硬件键盘时 Android TabHost 选项卡会窃取焦点

    我目前有一个TabHost包含 4 个选项卡 在一些片段上我们有一些EditText布局内的视图 我们注意到 当您尝试输入任何内容时EditText使用硬件键盘的视图 焦点被窃取EditText并赋予当前活动选项卡TabHost 这只发生在
  • Android 自定义进度条不旋转

    我想更改默认动画ProgressBar 所以我在我的主题中添加了自定义样式 样式 xml 我在我的内部调用这种风格ProgressBar具有以下内容 进度条 xml

随机推荐