Почему нельзя конвертировать из строки в int? - PullRequest
0 голосов
/ 16 мая 2018

Это должно быть что-то простое, но эти команды возвращают ошибку, когда я пытаюсь преобразовать строку в целое число:

        Intent recibir = getIntent();
        String nombre = recibir.getStringExtra("hora_inicio");

        int numero=0;

        try {
            numero = Integer.parseInt(nombre);
        } catch(NumberFormatException nfe) {
            nfe.printStackTrace();
        }

        Toast.makeText(this, numero, Toast.LENGTH_SHORT).show();

Монитор Android возвращает эту ошибку:

E / AndroidRuntime: FATAL EXCEPTION: main Процесс: com.example.cristobal.policlinica, PID: 11025 java.lang.RuntimeException: Невозможно начать деятельность ComponentInfo {com.example.cristobal.policlinica / com.example.cristobal.policlinica.CalendarActivity}: android.content.res.Resources $ NotFoundException: идентификатор ресурса строки 0x9 в android.app.ActivityThread.performLaunchActivity (ActivityThread.java:2416) в android.app.ActivityThread.handleLaunchActivity (ActivityThread.java:2476) на android.app.ActivityThread.-wrap11 (ActivityThread.java) в android.app.ActivityThread $ H.handleMessage (ActivityThread.java:1344) на android.os.Handler.dispatchMessage (Handler.java:102) на 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) Вызывается: android.content.res.Resources $ NotFoundException: String ресурс 0x9 на android.content.res.Resources.getText (Resources.java:312) на android.widget.Toast.makeText (Toast.java:286) в com.example.cristobal.policlinica.CalendarActivity.onCreate (CalendarActivity.java:31) на android.app.Activity.performCreate (Activity.java:6237) в android.app.Instrumentation.callActivityOnCreate (Instrumentation.java:1107) в android.app.ActivityThread.performLaunchActivity (ActivityThread.java:2369) в android.app.ActivityThread.handleLaunchActivity (ActivityThread.java:2476) на android.app.ActivityThread.-wrap11 (ActivityThread.java) в android.app.ActivityThread $ H.handleMessage (ActivityThread.java:1344)на android.os.Handler.dispatchMessage (Handler.java:102) на 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)

заранее спасибо

Ответы [ 3 ]

0 голосов
/ 16 мая 2018
Toast.makeText(this, String.valueOf(numero), Toast.LENGTH_SHORT).show();
0 голосов
/ 16 мая 2018

Попробуйте это:

 number = Integer.parseInt(YourStringName.toString());
0 голосов
/ 16 мая 2018

Проблема не в вашем преобразовании, а в вашем Toast.makeText.Когда вы вызываете Toast.makeText(this, numero, Toast.LENGTH_SHORT).show();

, он считает numero как resId и пытается найти относительный строковый ресурс в strings.xml, который не может выдать ошибку:

Resources$NotFoundException: String resource ID

Вместо

Toast.makeText(this, numero, Toast.LENGTH_SHORT).show();

DO

Toast.makeText(this, String.valueOf(numero), Toast.LENGTH_SHORT).show();

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...