Можно ли снова использовать то же намерение с тем же значением putextra? - PullRequest
0 голосов
/ 05 апреля 2020

Новое редактирование Я обновил трассировку стека в конце моего вопроса.

Редактировать

Ниже приведены коды из другого действия, которые работает. bottom_nav_camera_yes_button - это действие, но я назвал его yes_button, потому что оно появляется, когда я нажимаю yes_button.

yes_button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                startSave();
                pointCounter();
                //move to yes_button activity
                Intent int_yes = new Intent(bottom_nav_camera.this, bottom_nav_camera_yes_button.class);
                //passing the topLabels[0] to yes_button activity
                int_yes.putExtra("topLabels", topLabels[0]);
                startActivity(int_yes);
            }
        });

Я повторно использую один и тот же putExtra("topLabels", label) для двух разных действий, но всякий раз, когда я включаю эту строку , приложение полностью закрывается. Есть ли способ повторно использовать ту же самую переменную putExtra?

yes_button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view)
            {
                //move to yes_button activity
                Intent int_yes = new Intent(bottom_nav_camera_no_button_details.this, bottom_nav_camera_yes_button.class);
                //passing the topLabels[0] to yes_button activity
                int_yes.putExtra("topLabels", label);
                startActivity(int_yes);
            }
        });

трассировка стека

2020-04-04 17:58:33.838 15812-15812/com.codepath.wmgf8 E/AndroidRuntime: FATAL EXCEPTION: main
    Process: com.codepath.wmgf8, PID: 15812
    java.lang.RuntimeException: Unable to start activity ComponentInfo{com.codepath.wmgf8/com.codepath.wmgf8.bottom_nav_camera_yes_button}: java.lang.NullPointerException: Attempt to get length of null array
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2913)
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3048)
        at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:78)
        at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:108)
        at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:68)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1808)
        at android.os.Handler.dispatchMessage(Handler.java:106)
        at android.os.Looper.loop(Looper.java:193)
        at android.app.ActivityThread.main(ActivityThread.java:6669)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)
     Caused by: java.lang.NullPointerException: Attempt to get length of null array
        at com.codepath.wmgf8.bottom_nav_camera_yes_button.displayPhoto(bottom_nav_camera_yes_button.java:103)
        at com.codepath.wmgf8.bottom_nav_camera_yes_button.onCreate(bottom_nav_camera_yes_button.java:87)
        at android.app.Activity.performCreate(Activity.java:7136)
        at android.app.Activity.performCreate(Activity.java:7127)
        at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1271)
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2893)
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3048) 
        at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:78) 
        at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:108) 
        at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:68) 
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1808) 
        at android.os.Handler.dispatchMessage(Handler.java:106) 
        at android.os.Looper.loop(Looper.java:193) 
        at android.app.ActivityThread.main(ActivityThread.java:6669) 
        at java.lang.reflect.Method.invoke(Native Method) 
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493) 
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858) 

1 Ответ

1 голос
/ 05 апреля 2020

вашей проблемы может и не быть, ваше исключение может быть в bottom_nav_camera_yes_button, когда вы получаете дополнительное и пытаетесь получить его длину, но дополнительное значение равно нулю

, как показывает трассировка стека:

Невозможно запустить действие ComponentInfo{com.codepath.wmgf8/com.codepath.wmgf8.bottom_nav_camera_yes_button}: java.lang.NullPointerException: Попытка получить длину нулевого массива

искать строку 103 в bottom_nav_camera_yes_button.java (метод displayPhoto())

при com.codepath.wmgf8.bottom_nav_camera_yes_button.displayPhoto (bottom_nav_camera_yes_button.java: 103)

...