gpt4 book ai didi

android - RadioButton - 检查单选按钮是否在单选组内被选中 - Android

转载 作者:太空狗 更新时间:2023-10-29 16:32:35 26 4
gpt4 key购买 nike

我在检查是否在我的 radiogroup 中选择了一个 radiobutton 时遇到问题,我尝试了很多方法,例如 if(rg .getCheckedRadioButtonId() == -1) 但仍然无法处理我的代码。

在我的 logcat String selectedansText = selectedans.getText().toString();在这一行中,我的 logcat 指出了问题,有人可以帮助我吗?

我也试过 .isChecked 但它不起作用。

bt.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {

RadioButton selectedans = (RadioButton) findViewById(rg.getCheckedRadioButtonId());
String selectedansText = selectedans.getText().toString();

if (rg.getCheckedRadioButtonId()== -1){
Toast.makeText(grade_four_post_test.this,
"choose answer",
Toast.LENGTH_LONG).show();
} else { //do something }

PS: bt 声明正确

01-28 22:27:07.390 27612-27612/com.example.computer.mathkiddofinal:second W/System.err:     at android.view.View.performClick(View.java:4463)
01-28 22:27:07.391 27612-27612/com.example.computer.mathkiddofinal:second W/System.err: at android.view.View$PerformClick.run(View.java:18770)
01-28 22:27:07.391 27612-27612/com.example.computer.mathkiddofinal:second W/System.err: at android.os.Handler.handleCallback(Handler.java:808)
01-28 22:27:07.391 27612-27612/com.example.computer.mathkiddofinal:second W/System.err: at android.os.Handler.dispatchMessage(Handler.java:103)
01-28 22:27:07.392 27612-27612/com.example.computer.mathkiddofinal:second W/System.err: at android.os.Looper.loop(Looper.java:193)
01-28 22:27:07.392 27612-27612/com.example.computer.mathkiddofinal:second W/System.err: at android.app.ActivityThread.main(ActivityThread.java:5292)
01-28 22:27:07.392 27612-27612/com.example.computer.mathkiddofinal:second W/System.err: at java.lang.reflect.Method.invokeNative(Native Method)
01-28 22:27:07.393 27612-27612/com.example.computer.mathkiddofinal:second W/System.err: at java.lang.reflect.Method.invoke(Method.java:515)
01-28 22:27:07.393 27612-27612/com.example.computer.mathkiddofinal:second W/System.err: at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:828)
01-28 22:27:07.393 27612-27612/com.example.computer.mathkiddofinal:second W/System.err: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:644)
01-28 22:27:07.394 27612-27612/com.example.computer.mathkiddofinal:second W/System.err: at dalvik.system.NativeStart.main(Native Method)
01-28 22:27:07.394 27612-27612/com.example.computer.mathkiddofinal:second W/dalvikvm: threadid=1: calling UncaughtExceptionHandler
01-28 22:27:07.396 27612-27612/com.example.computer.mathkiddofinal:second E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.computer.mathkiddofinal:second, PID: 27612
java.lang.NullPointerException
at com.example.computer.mathkiddofinal.grade_level.post_test.grade_four_post_test$1.onClick(grade_four_post_test.java:117)
at android.view.View.performClick(View.java:4463)
at android.view.View$PerformClick.run(View.java:18770)
at android.os.Handler.handleCallback(Handler.java:808)
at android.os.Handler.dispatchMessage(Handler.java:103)
at android.os.Looper.loop(Looper.java:193)
at android.app.ActivityThread.main(ActivityThread.java:5292)
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:828)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:644)
at dalvik.system.NativeStart.main(Native Method)
01-28 22:27:07.400 696-9034/system_process V/Provider/Settings: from settings cache , name = dropbox:data_app_crash , value = null
01-28 22:27:07.401 696-9034/system_process D/dalvikvm: create interp thread : stack size=128KB
01-28 22:27:07.401 696-9034/system_process D/dalvikvm: create new thread
01-28 22:27:07.401 696-9034/system_process D/dalvikvm: new thread created
01-28 22:27:07.401 696-9034/system_process D/dalvikvm: update thread list
01-28 22:27:07.402 696-28496/system_process D/dalvikvm: threadid=79: interp stack at 0x63b53000
01-28 22:27:07.402 696-28496/system_process D/dalvikvm: threadid=79: created from interp
01-28 22:27:07.402 696-9034/system_process D/dalvikvm: start new thread
01-28 22:27:07.402 696-9034/system_process V/Provider/Settings: from settings cache , name = send_action_app_error , value = 1
01-28 22:27:07.402 696-28496/system_process D/dalvikvm: threadid=79: notify debugger
01-28 22:27:07.403 696-9034/system_process W/ActivityManager: Force finishing activity com.example.computer.mathkiddofinal/.grade_level.post_test.grade_four_post_test

最佳答案

您将为此获得 NullPointerException:

  RadioButton selectedans = (RadioButton) findViewById(rg.getCheckedRadioButtonId());
String selectedansText = selectedans.getText().toString();//NullPointer

因为如果没有选择 RadioButtonfindViewById 将不起作用,所以你的 RadioButton 没有被初始化。你应该这样做:

 int radioButtonId = rg.getCheckedRadioButtonId();

if(radioButtonId!=-1){

//do Your stuff
RadioButton selectedans = (RadioButton) findViewById(radioButtonId);
String selectedansText = selectedans.getText().toString();

}else{
Toast.makeText(grade_four_post_test.this,
"choose answer",
Toast.LENGTH_LONG).show();
}

关于android - RadioButton - 检查单选按钮是否在单选组内被选中 - Android,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35063999/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com