Stworzyłem aplikacje, która bez zarzutu działa na moim telefonie. Cały folder z aplikacją dodałem na dysk, mój kolega pobrał, rozpakował i otworzył u siebie na android studio. Na początku wszystko działało, ale po dodaniu DecimalFormat po stronie kolegi aplikacja przestała działać natomiast po mojej nadal działa. Ja mam androida 7.0 kolega 8.0 Log z błędami
E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.pc.quadraticfunction, PID: 16245
java.lang.IllegalStateException: Could not execute method for android:onClick
at android.support.v7.app.AppCompatViewInflater$DeclaredOnClickListener.onClick(AppCompatViewInflater.java:389)
at android.view.View.performClick(View.java:6897)
at android.widget.TextView.performClick(TextView.java:12693)
at android.view.View$PerformClick.run(View.java:26101)
at android.os.Handler.handleCallback(Handler.java:789)
at android.os.Handler.dispatchMessage(Handler.java:98)
at android.os.Looper.loop(Looper.java:164)
at android.app.ActivityThread.main(ActivityThread.java:6944)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:327)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1374)
Caused by: java.lang.reflect.InvocationTargetException
at java.lang.reflect.Method.invoke(Native Method)
at android.support.v7.app.AppCompatViewInflater$DeclaredOnClickListener.onClick(AppCompatViewInflater.java:384)
at android.view.View.performClick(View.java:6897)
at android.widget.TextView.performClick(TextView.java:12693)
at android.view.View$PerformClick.run(View.java:26101)
at android.os.Handler.handleCallback(Handler.java:789)
at android.os.Handler.dispatchMessage(Handler.java:98)
at android.os.Looper.loop(Looper.java:164)
at android.app.ActivityThread.main(ActivityThread.java:6944)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:327)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1374)
Caused by: java.lang.NumberFormatException: For input string: "4,00000"
at sun.misc.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:2043)
at sun.misc.FloatingDecimal.parseFloat(FloatingDecimal.java:122)
at java.lang.Float.parseFloat(Float.java:452)
at com.example.pc.quadraticfunction.MainActivity.calculate(MainActivity.java:103)
Myślę, że najważniejsza linijka to Caused by: java.lang.NumberFormatException: For input string: "4,00000"
Czy to możliwe, że DecimalFormat nie działa na androidzie 8 czy to może coś innego?
Kod do DecimalFormat
DecimalFormat decimalFormat = new DecimalFormat("#.00000");
result1=Float.parseFloat(decimalFormat.format(bInt*bInt));
Oczywiście result1 oraz bInt są zadeklarowane tylko wyżej oraz więcej liczb uzywa DecimalFormat, ale że robią to na podobnej zasadzie to umieszczam tylko jeden przykład.