Я новичок в Android, и в настоящее время я работаю над приложением, которое требует использования оператора else if. Ниже приведен фрагмент кода:
submit.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
if ((CCValue.equals("3") && MVValue.equals("3.5")) || (CCValue.equals("3") && MVValue.equals("4")) || (CCValue.equals("3") && MVValue.equals("5")) ||
(CCValue.equals("4") && MVValue.equals("4.5")) || (CCValue.equals("4") && MVValue.equals("5")) || (CCValue.equals("5") && MVValue.equals("5"))) {
thresholdValue = 1;
} else {
thresholdValue = 0;
}
threshold.setText(thresholdValue);
}
});
Submit - это имя кнопки, по которой пользователь будет нажимать, и компилятор перейдет в оператор «если». CCValue и MVValue - это строковые переменные, которые я сохраняю из двух выбранных пользователем блесен. «thresholdValue» - целочисленная переменная, которая получит значение в соответствии с оператором if. Наконец, «порог» является компонентом EditText.
Теперь я пытаюсь сравнить значения, хранящиеся в строковых переменных, через условие «если». Но каждый раз, когда я нажимаю кнопку «Отправить», происходит сбой приложения. Какие изменения я должен сделать, чтобы этот код работал успешно?
Ниже logcat для того же:
09-03 05:59:34.209 9772-9772/? I/zygote: Not late-enabling -Xcheck:jni (already on)
09-03 05:59:34.261 9772-9772/? W/zygote: Unexpected CPU variant for X86 using defaults: x86
09-03 05:59:34.413 9772-9779/? E/zygote: Failed writing handshake bytes (-1 of 14): Broken pipe
09-03 05:59:34.413 9772-9779/? I/zygote: Debugger is no longer active
09-03 05:59:34.617 9772-9772/? I/InstantRun: starting instant run server: is main process
09-03 05:59:35.038 9772-9783/? I/zygote: Background concurrent copying GC freed 8279(3MB) AllocSpace objects, 0(0B) LOS objects, 54% free, 1304KB/2MB, paused 5.265ms total 87.569ms
09-03 05:59:35.234 9772-9795/? D/OpenGLRenderer: HWUI GL Pipeline
09-03 05:59:35.259 9772-9777/? I/zygote: Do partial code cache collection, code=8KB, data=29KB
09-03 05:59:35.262 9772-9777/? I/zygote: After code cache collection, code=8KB, data=29KB
Increasing code cache capacity to 128KB
09-03 05:59:35.458 9772-9795/saferatestarter.dasnr.okstate.edu.glanceandgo I/zygote: android::hardware::configstore::V1_0::ISurfaceFlingerConfigs::hasWideColorDisplay retrieved: 0
09-03 05:59:35.458 9772-9795/saferatestarter.dasnr.okstate.edu.glanceandgo I/OpenGLRenderer: Initialized EGL, version 1.4
09-03 05:59:35.458 9772-9795/saferatestarter.dasnr.okstate.edu.glanceandgo D/OpenGLRenderer: Swap behavior 1
09-03 05:59:35.459 9772-9795/saferatestarter.dasnr.okstate.edu.glanceandgo W/OpenGLRenderer: Failed to choose config with EGL_SWAP_BEHAVIOR_PRESERVED, retrying without...
09-03 05:59:35.459 9772-9795/saferatestarter.dasnr.okstate.edu.glanceandgo D/OpenGLRenderer: Swap behavior 0
09-03 05:59:36.249 9772-9795/saferatestarter.dasnr.okstate.edu.glanceandgo D/EGL_emulation: eglCreateContext: 0xed50e7c0: maj 3 min 1 rcv 4
09-03 05:59:36.418 9772-9795/saferatestarter.dasnr.okstate.edu.glanceandgo D/EGL_emulation: eglMakeCurrent: 0xed50e7c0: ver 3 1 (tinfo 0xed51b510)
09-03 05:59:36.420 9772-9795/saferatestarter.dasnr.okstate.edu.glanceandgo E/eglCodecCommon: glUtilsParamSize: unknow param 0x000082da
glUtilsParamSize: unknow param 0x000082da
09-03 05:59:36.579 9772-9772/saferatestarter.dasnr.okstate.edu.glanceandgo I/Choreographer: Skipped 77 frames! The application may be doing too much work on its main thread.
09-03 05:59:36.600 9772-9795/saferatestarter.dasnr.okstate.edu.glanceandgo D/EGL_emulation: eglMakeCurrent: 0xed50e7c0: ver 3 1 (tinfo 0xed51b510)
09-03 05:59:36.854 9772-9772/saferatestarter.dasnr.okstate.edu.glanceandgo D/AndroidRuntime: Shutting down VM
--------- beginning of crash
09-03 05:59:36.856 9772-9772/saferatestarter.dasnr.okstate.edu.glanceandgo E/AndroidRuntime: FATAL EXCEPTION: main
Process: saferatestarter.dasnr.okstate.edu.glanceandgo, PID: 9772
java.lang.NumberFormatException: For input string: "Select"
at sun.misc.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:2043)
at sun.misc.FloatingDecimal.parseDouble(FloatingDecimal.java:110)
at java.lang.Double.parseDouble(Double.java:539)
at saferatestarter.dasnr.okstate.edu.glanceandgo.MainActivity$1.onItemSelected(MainActivity.java:52)
at android.widget.AdapterView.fireOnSelected(AdapterView.java:944)
at android.widget.AdapterView.dispatchOnItemSelected(AdapterView.java:933)
at android.widget.AdapterView.-wrap1(Unknown Source:0)
at android.widget.AdapterView$SelectionNotifier.run(AdapterView.java:898)
at android.os.Handler.handleCallback(Handler.java:790)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:164)
at android.app.ActivityThread.main(ActivityThread.java:6494)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)