android.widget.TabHost.dispatchWindowFocusChanged 处的 java.lang.NullPointerException(TabHost.java:298)

2024-03-09

我的程序的许多用户报告“强制关闭”相同的错误,但我无法重现该错误,因此很难调试!

看来它与 TabHost 有关(我的应用程序中有两个)

现在,我尝试扩展 TabHost 覆盖dispatchWindowFocusChanged() 并测试 getCurrentView() 是否返回 null…如果是这样,我将 setCurrentTab() 设置为最后一个已知的选项卡索引。 但我不知道这是否能起到作用...

有人对这份报告有任何线索吗?

java.lang.NullPointerException
at android.widget.TabHost.dispatchWindowFocusChanged(TabHost.java:298)
at android.widget.TabHost.dispatchWindowFocusChanged(TabHost.java:302)
at android.view.ViewGroup.dispatchWindowFocusChanged(ViewGroup.java:662)
at android.view.ViewGroup.dispatchWindowFocusChanged(ViewGroup.java:662)
at android.view.ViewGroup.dispatchWindowFocusChanged(ViewGroup.java:662)
at android.view.ViewGroup.dispatchWindowFocusChanged(ViewGroup.java:662)
at android.view.ViewRoot.handleMessage(ViewRoot.java:1946)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:123)
at android.app.ActivityThread.main(ActivityThread.java:4627)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:521)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:858)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
at dalvik.system.NativeStart.main(Native Method)

这是 TabHost 布局:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
  android:id="@+id/main_layout"
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="fill_parent"
  android:layout_height="fill_parent"
  android:orientation="vertical">
  <TabHost
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@android:id/tabhost"
    android:layout_weight="1"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">
    <LinearLayout
      android:id="@+id/airport_linear"
      android:orientation="vertical"
      android:layout_width="fill_parent"
      android:layout_height="fill_parent">
      <TabWidget
        android:id="@android:id/tabs"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" />
      <FrameLayout
        android:id="@android:id/tabcontent"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"  />
    </LinearLayout>
  </TabHost>
</LinearLayout>

如果使用 findViewById() 加载 TabHost,请在添加选项卡之前调用 setup()。但是:您不需要在 TabActivity 中的 getTabHost() 之后调用 setup()。 http://developer.android.com/reference/android/widget/TabHost.html#setup() http://developer.android.com/reference/android/widget/TabHost.html#setup()

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

android.widget.TabHost.dispatchWindowFocusChanged 处的 java.lang.NullPointerException(TabHost.java:298) 的相关文章

随机推荐

  • 如何仅与syncdb同步自定义权限?

    是否可以让manage pysyncdb命令仅将自定义权限同步到auth permission桌子 我不希望为应用程序模型安装默认的三个权限 即foo add bar foo change bar foo delete bar 我在模型类中
  • 如何根据泛型类型执行泛型结构体方法的不同实现?

    我有一个通用结构 我在扩展中的结构中添加了一个方法 如下所示 struct CustomStruct
  • JavaScript 模板继承

    在Django框架中 网页模板可以继承其他模板 在子模板中 您定义代码块来覆盖父模板中类似名称的块 我猜还有其他后端模板系统也以这种方式工作 但 Django 是我熟悉的一个 现有的 javascript 模板系统是否支持 django 风
  • Emacs 插入居中注释块

    我想为 emacs 创建一个宏 它将插入一个带有一些居中文本的乳胶注释块 例如 Comment 1 Comment 2 Commenttext 3 这可
  • 电子邮件地址输入验证

    有没有办法在 wpf C 中对电子邮件地址进行文本框输入验证 正则表达式或验证表达式或任何可以提供帮助的内容 最好提供代码示例和一些说明 在 text changed 事件中 您可以将文本框的值传递给辅助类 public static cl
  • PHP Curl 脚本每 10 分钟从远程服务器提取数据

    我正在尝试创建一个 PHP 脚本 该脚本从远程服务器提取 xml 数据 文本和图像 并将其插入本地数据库中 我需要每 10 分钟左右运行一次此脚本 并覆盖数据库中的现有数据 如果大约一分钟后没有收到服务器的响应 我希望请求中止 直到下一个脚
  • 如果可能,使用 AJAX 从 URL 获取 JSON 数据

    我想从下面的 URL 获取 JSON 数据 并以任何可能的方式在我的网页中使用它 可以吗 http fantasy premierleague com web api elements 100 http fantasy premierlea
  • AWS Elastic Beanstalk 504 网关超时

    我有一个在 AWS Elastic Beanstalk 上运行的节点服务器 我的一个端点接受巨大的有效负载 并且该函数本身相当缓慢且冗长 可能需要长达 10 多分钟的时间 由于业务需求 它必须保留为单个 HTTP POST 并且不能拆分得更
  • 错误通知:无法展开 RemoteViews:StatusBarNotification。在 Android 牛轧糖上

    I use OneSignal SDK显示通知 我这样做是在OneSignalPushService java OneSignalPushService java public class OneSignalPushService exte
  • Chrome 扩展配置代理用户名和密码

    我正在创建一个 chrome 扩展来动态更改代理设置 但在 chrome proxy settings set 函数中 无法配置代理的用户名和密码 因此 每次设置更改后我都必须手动输入凭据 但我发现在代理自动验证 https chrome
  • 为什么我在看似相似的 R 代码中遇到函数错误?

    首先 这是一个非常基本的问题 我不确定如何表达 如果问题是重复的 尽管我使用我认为可能合适的措辞进行了检查 我显然会撤回并欣赏该链接 第二 我是sure有一种更简单的方法可以完成我正在尝试的事情 但又不想偏离轨道 好的 我试图从 0 1 矩
  • 将主机字节顺序(小端)中的字符串转换为网络字节顺序(大端)

    我有一个十六进制字符串 内容如下18000000该字符串采用主机字节顺序 小端 我需要将其转换为网络字节顺序 大端 生成的十六进制字符串将是00000018 总结一下我需要转换 18000000 to 00000018 我如何在 PHP 中
  • pandas groupby 对象的聚合

    我正在尝试从数据块的 groupby 对象中聚合一些统计信息 我必须对数据进行分块 因为有很多 1800 万 行 我想找到每个块中每个组的行数 然后将它们加在一起 我可以添加 groupby 对象 但当一项中不存在组时 结果为 NaN 看这
  • BST 插入不起作用

    我试图实现二叉搜索树的代码 问题是以下代码不起作用 但如果我传递双指针来插入函数 如 insert struct bst node data 它就会起作用 我认为它也应该适用于传递单个指针 谁能解释一下这里的错误是什么 void inser
  • 使用 LaTeX Beamer 显示代码

    我在 Beamer 演示文稿中使用以下 LaTeX 代码 begin frame begin figure centering tiny lstset language python lstinputlisting code get ext
  • 记录器应该始终是最终的和静态的吗?

    可以从多个线程访问类 在这种情况下 记录器也必须是最终的和静态的吗 谢谢 所有主要的 java 日志记录包 java util logging log4j等 是同步且线程安全的 标准模式aprivate final static即使从多个线
  • CMS 中搜索表单的 POST 与 GET 方法

    我有点被一件事困住了 只是无法决定在搜索表单中使用 POST 还是 GET 方法 通常我会使用 GET 方法来创建这样的表单 这样用户就可以为他们得到的结果添加书签 但这一次 搜索表单出现在管理区域中 因此结果很快就会相关 并且无需为结果添
  • 如何清除主屏幕上 IOS Web 应用程序的缓存?

    我正在使用 JQTouch 使用元标记 apple mobile web app capable 在主屏幕上创建一个 Web 应用程序 但无论我从 设置 中清除缓存多少次 该 Web 应用程序的 Javascript 仍然是较旧的缓存版本
  • 服务已重新启动,并显示 START_NOT_STICKY

    我有一个在后台运行的服务 如果系统在内存不足的情况下杀死该服务也没关系 但是 我不希望系统重新启动该服务 因此 为了做到这一点 我从 onStartCommand 返回 START NOT STICKY 标志 如下所示 public int
  • android.widget.TabHost.dispatchWindowFocusChanged 处的 java.lang.NullPointerException(TabHost.java:298)

    我的程序的许多用户报告 强制关闭 相同的错误 但我无法重现该错误 因此很难调试 看来它与 TabHost 有关 我的应用程序中有两个 现在 我尝试扩展 TabHost 覆盖dispatchWindowFocusChanged 并测试 get