【问题标题】:how can i get on click to check what check box is checked and if button is pressed我如何点击以检查选中的复选框以及是否按下按钮
【发布时间】:2015-11-15 05:36:06
【问题描述】:

我正在尝试让我的点击方法来侦听提交按钮并检查选中的复选框以根据该复选框加载某个活动这是我为此功能提供的代码,但它不断使我的 android 应用程序崩溃.有人可以指出我可能做错了什么。请忽略任何拼写或语法错误,因为我有阅读障碍。

if (v.getId() == R.id.submit) {
    Intent intent = new Intent(ModeSelect.this, OnePSetup.class);         
    if (checkBox.isChecked()){
        startActivity(intent);
        System.out.println("checked");
    }
}

这是输出错误

    11-14 15:36:09.820  12457-12478/allanwalls1304988.straight4 E/Surface﹕ getSlotFromBufferLocked: unknown buffer: 0xb4057be0

11-14 15:36:11.952 12457-12457/allanwalls1304988.straight4 E/AndroidRuntime: 致命异常: main 进程:allanwalls1304988.straight4,PID:12457 java.lang.NullPointerException:尝试在空对象引用上调用虚拟方法“boolean android.widget.CheckBox.isChecked()” 在 allanwalls1304988.straight4.ModeSelect.onClick(ModeSelect.java:58) 在 android.view.View.performClick(View.java:5198) 在 android.view.View$PerformClick.run(View.java:21147) 在 android.os.Handler.handleCallback(Handler.java:739) 在 android.os.Handler.dispatchMessage(Handler.java:95) 在 android.os.Looper.loop(Looper.java:148) 在 android.app.ActivityThread.main(ActivityThread.java:5417) 在 java.lang.reflect.Method.invoke(本机方法) 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)

【问题讨论】:

    标签: java android


    【解决方案1】:

    从您发布的堆栈跟踪中,错误出现在 ModeSelect.java 行号 58 处,错误出现在该行 checkBox.isChecked() 的执行上。似乎您还没有初始化 checkBox 导致它抛出 NullPointerException。你可以这样初始化它:

    CheckBox checkBox = (CheckBox) findViewById(R.id.myCheckBox);

    希望这会有所帮助。

    【讨论】:

      【解决方案2】:

      您的复选框被 onCreate() 方法中的局部变量引用,使其成为字段引用。它不应该给出空指针。 将其声明为字段

      private CheckBox checkBox;
      

      onCreate()方法内

      checkBox = (CheckBox) findViewById(R.id.cb1); 
      

      【讨论】:

        猜你喜欢
        • 2020-04-14
        • 2014-05-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-01-19
        • 1970-01-01
        • 2014-04-09
        • 1970-01-01
        相关资源
        最近更新 更多