E/AndroidRuntime:致命异常:main [关闭]

2023-12-13

当我测试我的应用程序时,我在 Android-Studio-Consol 中收到以下错误:

08-21 13:56:28.059    9637-9637/net.dominik.genpush E/AndroidRuntime﹕ FATAL EXCEPTION: main
Process: net.dominik.genpush, PID: 9637
java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{net.dominik.genpush/net.dominik.genpush.settings}: java.lang.NullPointerException
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2110)
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2233)
        at android.app.ActivityThread.access$800(ActivityThread.java:135)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196)
        at android.os.Handler.dispatchMessage(Handler.java:102)
        at android.os.Looper.loop(Looper.java:136)
        at android.app.ActivityThread.main(ActivityThread.java:5001)
        at java.lang.reflect.Method.invokeNative(Native Method)
        at java.lang.reflect.Method.invoke(Method.java:515)
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:785)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601)
        at dalvik.system.NativeStart.main(Native Method)
 Caused by: java.lang.NullPointerException
        at android.app.Activity.findViewById(Activity.java:1884)
        at net.dominik.genpush.settings.<init>(settings.java:23)
        at java.lang.Class.newInstanceImpl(Native Method)
        at java.lang.Class.newInstance(Class.java:1208)
        at android.app.Instrumentation.newActivity(Instrumentation.java:1061)
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2101)
            at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2233)
            at android.app.ActivityThread.access$800(ActivityThread.java:135)
            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196)
            at android.os.Handler.dispatchMessage(Handler.java:102)
            at android.os.Looper.loop(Looper.java:136)
            at android.app.ActivityThread.main(ActivityThread.java:5001)
            at java.lang.reflect.Method.invokeNative(Native Method)
            at java.lang.reflect.Method.invoke(Method.java:515)
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:785)
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601)
            at dalvik.system.NativeStart.main(Native Method)

这是一段代码:

public CheckBox checkBox_push;
    public TextView textView_appby;
    public Button button_feedback;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_settings);

        checkBox_push = (CheckBox) findViewById(R.id.checkBox_push);

        textView_appby = (TextView) findViewById(R.id.textView_appby);

        button_feedback = (Button) findViewById(R.id.button_feedback);
    }

    public void onTextClickAppBy(View x)
    {
        Intent intent = new Intent();
        intent.setAction(Intent.ACTION_VIEW);
        intent.addCategory(Intent.CATEGORY_BROWSABLE);
        intent.setData(Uri.parse("http://www.dominiktv.net"));
        startActivity(intent);
    }

    //Button Status Speichern
    @Override
    public void onPause() {
        super.onPause();
        save(checkBox_push.isChecked());
    }

    @Override
    public void onResume() {
        super.onResume();
        checkBox_push.setChecked(load());
    }

    private void save(final boolean isChecked) {
        SharedPreferences sharedPreferences = getPreferences(Context.MODE_PRIVATE);
        SharedPreferences.Editor editor = sharedPreferences.edit();
        editor.putBoolean("check", isChecked);
        editor.commit();

    }

    private boolean load() {
        SharedPreferences sharedPreferences = getPreferences(Context.MODE_PRIVATE);
        return sharedPreferences.getBoolean("check", true);
    }
    public void onCheckboxPush(View b)
    {
        if (checkBox_push.isChecked())
        {
            //PB
            Pushbots.getInstance().setNotifyStatus(true);
            //PB E
            Toast.makeText(getApplicationContext(), "Push-Benachrichtigungen aktiviert",
                    Toast.LENGTH_SHORT).show();
        }
        else
        {
            //PB
            Pushbots.getInstance().setNotifyStatus(false);
            //PB E
            Toast.makeText(getApplicationContext(), "Push-Benachrichtigungen deaktiviert",
                    Toast.LENGTH_SHORT).show();
        }
    }

该应用程序也可以处理该错误,但在一个应用程序中出现错误并不好。 我已经用谷歌搜索了很多,但我的 Java 技能还不够,这是我的第一个自行创建的应用程序


Caused by: java.lang.NullPointerException
    at android.app.Activity.findViewById(Activity.java:1884)
    at net.dominik.genpush.settings.<init>(settings.java:23)

你正在呼唤findViewById()初始化活动时太早settings对象,可能是一个成员变量。您发布的代码没有显示这一点。

您实际上只能在以下位置调用活动函数onCreate()或稍后。

还把findViewById() after setContentView()所以它实际上可以返回除 null 之外的其他内容。

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

E/AndroidRuntime:致命异常:main [关闭] 的相关文章

  • Java 8 中函数式接口的使用

    这是来自的后续问题Java 8 中的 双冒号 运算符 https stackoverflow com questions 20001427 double colon operator in java 8其中 Java 允许您使用以下方式引用
  • 隐式超级构造函数 Person() 未定义。必须显式调用另一个构造函数?

    我正在开发一个项目 但收到错误 隐式超级构造函数 Person 未定义 必须显式调用另一个构造函数 我不太明白它 这是我的人物课程 public class Person public Person String name double D
  • Git 无法识别重命名和修改的包文件

    我有一个名为的java文件package old myfile java 我已经通过 git 提交了这个文件 然后我将我的包重命名为new所以我的文件在package new myfile java 我现在想将此文件重命名 和内容更改 提交
  • Java 数组的最大维数

    出于好奇 在 Java 中数组可以有多少维 爪哇language不限制维数 但是JavaVM规范将维度数限制为 255 例如 以下代码将无法编译 class Main public static void main String args
  • 无法加载或查找主类,可以在命令行中使用,但不能在 IDE 中使用[重复]

    这个问题在这里已经有答案了 在将其标记为重复之前 请先听我说完 我正在尝试使用 gradle 导入一个 java 项目 功能齐全 适用于所有其他笔记本电脑 没有问题 我的项目 100 正常运行 适用于所有其他笔记本电脑 当我的笔记本电脑被重
  • 获取给定类文件的目录路径

    我遇到的代码尝试从类本身的 class 文件所在的同一目录中读取一些配置文件 File configFiles new File this getClass getResource getPath listFiles new Filenam
  • 如何以编程方式启动 ssh 服务器 android,以及如何获取连接到设备的用户名和密码

    我正在开发像这样的应用程序sshdroid 我想在 Android 操作系统上打开 ssh 连接 并且我想从电脑连接应用程序 我使用了 JSCH lib 但是这个lib用于将android连接到pc 我的要求是pc到android 任何人都
  • 如何配置 WebService 返回 ArrayList 而不是 Array?

    我有一个在 jax ws 上实现的 java Web 服务 此 Web 服务返回用户的通用列表 它运行得很好 Stateless name AdminToolSessionEJB RemoteBinding jndiBinding Admi
  • Dispatcher-servlet 无法映射到 websocket 请求

    我正在开发一个以Spring为主要框架的Java web应用程序 特别使用Spring core Spring mvc Spring security Spring data Spring websocket 像这样在 Spring 上下文
  • 解析输入,除了 System.in.read() 之外不使用任何东西

    我很难找到具体的细节System in read 有效 也许有人可以帮助我 似乎扫描仪会更好 但我不允许使用它 我被分配了一个任务 我应该以 Boolean Operator Boolean 的形式读取控制台用户输入 例如T F 或 T T
  • onBackPressed 隐藏 不破坏 Activity

    我知道如何取消后退按键 以便活动 主窗口保持可见 public void onBackPressed return 我的目标是隐藏该活动 但是 在没有完成它的情况下 您如何在 onBackPressed 事件中做到这一点 即我想达到 onP
  • 无法捕获 Spring Batch 的 ItemWriter 中的异常

    我正在编写一个 Spring Batch 流程来将数据集从一个系统迁移到另一个系统 在这种情况下 这就像使用RowMapper实现在传递给查询之前从查询构建对象ItemWriter The ItemWriter称为save我的 DAO 上的
  • 如何在Java中正确删除数组[重复]

    这个问题在这里已经有答案了 我刚接触 Java 4 天 从我搜索过的教程来看 讲师们花费了大量精力来解释如何分配二维数组 例如 如下所示 Foo fooArray new Foo 2 3 但我还没有找到任何解释如何删除它们的信息 从内存的情
  • Android AutoCompleteTextView 带芯片

    我不确定我是否使用了正确的词语来描述此 UI 功能 但我已附上我希望在我的应用程序中实现的目标的快照 它由 Go SMS 使用 用户在编辑文本中键入联系人 在用户从完成下拉列表中选择联系人后 该联系人将被插入到编辑文本中 如附图所示 编辑文
  • 安卓的限制

    我需要构建一个应用程序 该应用程序拍摄相机图像并将其上传到网络 在网络上进行一些处理并返回真 假 我在这方面遇到了一些问题 希望得到澄清 1 我的应用程序有什么方法可以知道 Android 相机捕获的图像吗 我从这里明白了什么 Androi
  • 按字母顺序过滤 Firestore 数据以对 Google Cloud 中的文档读取进行分类/减少

    基于这样的事实Cloud Firestore 不支持全文搜索 https firebase google com docs firestore solutions search到目前为止 我决定问这个question https stack
  • Android 自定义警报对话框中的 OnClickListener

    我是一个自学成才的初学者 感谢耐心 谢谢 在 Eclipse 中 我使用自己的 xml 文件 custom dialog 创建了一个自定义警报对话框 称为 usernamealert 如果用户尚未输入用户名 即 username lengt
  • 嵌入式 Jetty - 以编程方式添加基于表单的身份验证

    有没有一种方法可以按如下方式以编程方式添加基于表单的身份验证 我用的是我自己的LdapLoginModule 最初我使用基本身份验证并且工作正常 但现在我想在登录页面上进行更多控制 例如显示徽标等 有没有好的样品 我正在使用嵌入式 jett
  • Android 和 Java 中绘制椭圆的区别

    在Java中由于某种原因Ellipse2D Double使用参数 height width x y 当我创建一个RectF在Android中参数是 left top right bottom 所以我对适应差异有点困惑 如果在 Java 中创
  • android ndk 硬件调试内存

    背景 我对 C 很有经验 对 Android 和 Java 还很陌生 但这是编程的环境问题 我已经用 ANSI C 开发了一个管理应用程序 可以移植到任何操作系统 只需在依赖于操作系统的代码中添加 UI 即可 它使用相当多的内存 特别是对于

随机推荐

  • 保存自定义对象的 NSArray

    我创建了 UIImage UIImageExtra 的子类 因为我想包含额外的属性和方法 我有一个包含此自定义类的实例的数组 但是 当我保存该数组时 似乎 UIImageExtra 类中的额外数据未保存 UIImageExtra 符合 NS
  • 外部链接 C 库中的异常传播

    我正在编写一个使用外部第三方 C 库的 C 库 因此 我的库将调用该第三方库中的函数 而第三方库将回调到我库的不同部分 我想知道在这种情况下异常会发生什么 假设 MyLib foo 调用外部 C 库函数 最终调用 MyLib bar 并且
  • 关闭 Eclipse 错误(这并不是真正的错误)[重复]

    这个问题在这里已经有答案了 可能的重复 禁用 Eclipse 的错误发现 Codan 误报 由于 GCC 4 8 Clang 3 3 C 支持远远领先于 Eclipse 的语法检查 就功能支持而言 Eclipse 将许多东西标记为实际上有效
  • Qt 中自动生成的 UI 标头

    我在 Qt Creator 工作 有点困惑 当我在 Qt Designer 中生成 UI 文件时 我注意到在标题为 ui 的 cpp 文件中加载了一个关联的头文件filename 我对这个标头是如何生成的有些困惑 请参考下图 该文件特别是
  • 网络摄像头在 opencv-python 和 opencv-contrib-python 的 pip 版本中不起作用

    我在使用 anaconda 的 python 中的 opencv 中遇到了网络摄像头的问题 问题如下 如果通过两者之一安装 opencv 我无法打开网络摄像头 pip install opencv python 可用 3 1 3 2 3 3
  • 工作灯真实性

    我们正在 Worklight 上开发混合应用程序 我们需要实现应用程序的真实性 我们将 Worklight Enterprise 版本 6 2 0 1 与 IBM 应用程序中心结合使用 但是 当我们在 Android 上启动应用程序时 我们
  • Django 基于类的视图 (TemplateView) 中的 URL 参数和逻辑

    我不清楚如何最好地访问 Django 1 5 中基于类的视图中的 URL 参数 考虑以下 View from django views generic base import TemplateView class Yearly Templa
  • ggplot2facet_grid使用facet_grid具有不同的x轴标签

    我在这个问题上纠结了很长时间 基本上我需要在二维facet grid中生成细菌分类群的堆积条形图 这不是问题 但是 我确实需要使用 2 个不同的 x 轴标签图 我查看了这些有帮助的线程 但仍然不满意 在facet grid ggplot上强
  • C++ 头文件和 CPP 包括

    快速提问 我试图确定 C 今天我花了几个小时处理双重定义链接器错误 这已经被定义了 我终于意识到这是因为我有这样的布局 main cpp include Dog cpp Dog cpp include Dog h Dog h Dog cla
  • long 类型的最大十六进制值

    我已将 Java 代码移植到 C 您能否解释一下为什么我在下面的行中出现编译时错误 我使用 VS 2008 private long l 0xffffffffffffffffL 16 f got here 无法将源类型 ulong 转换为目
  • Bash - 从循环中获取基本名称

    我想得到basename来自循环但这只会返回我 FILES home aaaa bbbb Get all folders for f in FILES do basename f done 我做错了什么 您甚至不需要创建一个数组并像这样执行
  • 静脉如何在简单路径损耗模型中计算 RSSI?

    我们正在开发一个基于 Veins 框架的应用程序 它需要接收信号的 RSSI 值以及发送器和接收器之间的距离 我们参考了 VeReMi 项目 它也计算 RSSI 值并将其发送到上层 我们将模拟结果 RSSI 与距离 与 VeReMi 数据集
  • 如何通过单击按钮打印 React 组件?

    如何单击按钮仅打印一个组件 我知道这个解决方案 window frames print frame window focus window frames print frame window print print frame remove
  • 在 IIS/ASP.NET 上的物理文件夹中创建虚拟应用程序/目录

    我想要实现的目标很简单 我有一个网站 请说 我的网站 http localhost 在这个网站中 我有一个 物理 文件夹 foo http localhost foo 在 foo 文件夹内 我想要一个名为 upload 的虚拟目录 应用程序
  • 列表框上下文菜单

    如何在 MFC 的列表框中添加上下文菜单 我在列表框的属性中没有看到任何 WM CONTEXTMENU 处理程序 有任何想法吗 EDIT 我按照这个教程MFC 列表控件 如何在列表控件中使用上下文菜单 本教程说要从我所做的 CListBox
  • 运行 PyGame 程序,无需启动到桌面 Raspberry Pi

    我正在使用 Raspberry Pi 的 PiTFT 显示屏 并且我想在不启动到桌面的情况下运行我的 PyGame Python 程序 我想要这样做的原因是因为这意味着更少的 RAM 使用 这对于 Raspberry Pi 来说非常重要 以
  • 计算部分和的 MySQL 查询

    我应该在 MySQL 数据库中执行什么查询才能获得包含源表的部分和的结果 例如当我有桌子时 Id Val 1 1 2 2 3 3 4 4 我想得到这样的结果 Id Val 1 1 2 3 1 2 3 6 1 2 3 4 10 1 2 3 4
  • Redshift regexp_substr

    我想将此正则表达式模式复制到 regexp substr 我想捕获第二组 我已经尝试过这个 regexp my url 还有上面的一些类似的变体 但我收到了错误 ERROR XX000 Invalid preceding regular e
  • 点击 Safari Mobile 中的突出显示和 jQuery on() 函数会产生巨大的突出显示

    我正在使用 jQuery 的on 在 iOS 的 Safari 移动浏览器上的功能如下 content on element click function do stuff 当点击 elementSafari 凸显整体 content面积而
  • E/AndroidRuntime:致命异常:main [关闭]

    Closed 这个问题需要调试细节 目前不接受答案 当我测试我的应用程序时 我在 Android Studio Consol 中收到以下错误 08 21 13 56 28 059 9637 9637 net dominik genpush