0

Whats wrong in this code? It is not sending the intent to next page.I have done it many times.When i click on the button on the Mainactivity.java i get this log.It doesn't go to the next page.Intent is not working in this activity why?Hope to get answer soon.Thanks in advance.

package com.example.testing1;

import androidx.appcompat.app.AppCompatActivity;

import android.content.Intent;
import android.graphics.Bitmap;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;

import java.util.ArrayList;

public class MainActivity extends AppCompatActivity {
    ArrayList<String> hisnumber=new ArrayList<>();
    ArrayList<Bitmap> hisimages=new ArrayList<>();
    Button button;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        button=findViewById(R.id.button);
        Intent intent = getIntent();
        hisnumber = intent.getStringArrayListExtra("hisnumber");
        hisimages = intent.getParcelableArrayListExtra("hisimages");
        Log.d("num1", String.valueOf(hisnumber));
        Log.d("img1", String.valueOf(hisimages));
        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Intent myIntent = new Intent(MainActivity.this, Testing2.class);
                myIntent.putExtra("hisnumber", hisnumber);
                myIntent.putParcelableArrayListExtra("hisimages", hisimages);
                Log.d("num", String.valueOf(hisnumber));
                Log.d("img", String.valueOf(hisimages));
                startActivity(myIntent);
            }
        });
    }
}

Mainactivity.java

package com.example.testing1;

import androidx.appcompat.app.AppCompatActivity;

import android.content.Intent;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;

import java.util.ArrayList;

public class Testing2 extends AppCompatActivity {
    ArrayList<String> hisnumber=new ArrayList<>();
    ArrayList<Bitmap> hisimages=new ArrayList<>();
    Button button;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_testing2);
        button=findViewById(R.id.button);
        Intent intent = getIntent();
        hisnumber = intent.getStringArrayListExtra("hisnumber");
        hisimages = intent.getParcelableArrayListExtra("hisimages");
        Log.d("num3", String.valueOf(hisnumber));
        Log.d("img3", String.valueOf(hisimages));
        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                if(hisnumber==null){
                    hisnumber=new ArrayList<>();
                    hisimages=new ArrayList<>();
                }
                hisnumber.add("ass");
                Bitmap bp= BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher_background);
                hisimages.add(bp);
                Intent myIntent = new Intent(Testing2.this, MainActivity.class);
                myIntent.putExtra("hisnumber", hisnumber);
                myIntent.putParcelableArrayListExtra("hisimages", hisimages);
                Log.d("num2", String.valueOf(hisnumber));
                Log.d("img2", String.valueOf(hisimages));
                startActivity(myIntent);
            }
        });
    }
}

Testing.java


07/28 11:07:11: Launching 'app' on Realme RMX1901.
$ adb shell am start -n "com.example.testing1/com.example.testing1.MainActivity" -a android.intent.action.MAIN -c android.intent.category.LAUNCHER
Connected to process 18360 on device 'realme-rmx1901-618cb732'.
Capturing and displaying logcat messages from application. This behavior can be disabled in the "Logcat output" section of the "Debugger" settings page.
I/Perf: Connecting to perf service.
E/Perf: Fail to get file list com.example.testing1
    getFolderSize() : Exception_1 = java.lang.NullPointerException: Attempt to get length of null array
    Fail to get file list com.example.testing1
    getFolderSize() : Exception_1 = java.lang.NullPointerException: Attempt to get length of null array
W/xample.testing: Accessing hidden method Landroid/view/View;->computeFitSystemWindows(Landroid/graphics/Rect;Landroid/graphics/Rect;)Z (greylist, reflection, allowed)
W/xample.testing: Accessing hidden method Landroid/view/ViewGroup;->makeOptionalFitsSystemWindows()V (greylist, reflection, allowed)
D/num1: null
D/img1: null
D/WindowManager: Add to mViews: DecorView@5a6d981[MainActivity], this = android.view.WindowManagerGlobal@9161a26,pkg= com.example.testing1
I/AdrenoGLES: QUALCOMM build                   : e4029f9, I6b4cbc7431
    Build Date                       : 10/01/19
    OpenGL ES Shader Compiler Version: EV031.27.05.01
    Local Branch                     : 
    Remote Branch                    : 
    Remote Branch                    : 
    Reconstruct Branch               : 
I/AdrenoGLES: Build Config                     : S P 8.0.11 AArch64
I/AdrenoGLES: PFP: 0x016ee187, ME: 0x00000000
W/AdrenoUtils: <ReadGpuID_from_sysfs:194>: Failed to open /sys/class/kgsl/kgsl-3d0/gpu_model
    <ReadGpuID:218>: Failed to read chip ID from gpu_model. Fallback to use the GSL path
W/Gralloc3: mapper 3.x is not supported
I/Choreographer: Skipped 9 frames!  The application may be doing too much work on its main thread.
I/Choreographer: Skipped 1 frames!  The application may be doing too much work on its main thread.
D/ColorViewRootUtil: nav gesture mode swipeFromBottom ignore false downY 349 mScreenHeight 2340 mScreenWidth 1080 mStatusBarHeight 54 globalScale 1.125 nav mode 3 event MotionEvent { action=ACTION_DOWN, actionButton=0, id[0]=0, x[0]=334.0, y[0]=349.0, toolType[0]=TOOL_TYPE_FINGER, buttonState=0, classification=NONE, metaState=0, flags=0x0, edgeFlags=0x0, pointerCount=1, historySize=0, eventTime=660935273, downTime=660935273, deviceId=7, source=0x1002, displayId=0 } rotation 0
D/num: null
D/img: null
I/Choreographer: Skipped 1 frames!  The application may be doing too much work on its main thread.
I/Choreographer: Skipped 1 frames!  The application may be doing too much work on its main thread.
W/ActivityThread: handleWindowVisibility: no activity for token android.os.BinderProxy@fa02c62
D/num3: null
D/img3: null
D/WindowManager: Add to mViews: DecorView@76b323c[Testing2], this = android.view.WindowManagerGlobal@9161a26,pkg= com.example.testing1
I/Choreographer: Skipped 6 frames!  The application may be doing too much work on its main thread.
I/Choreographer: Skipped 3 frames!  The application may be doing too much work on its main thread.
I/xample.testing: ProcessProfilingInfo new_methods=681 is saved saved_to_disk=1 resolve_classes_delay=5000
D/ColorViewRootUtil: nav gesture mode swipeFromBottom ignore false downY 327 mScreenHeight 2340 mScreenWidth 1080 mStatusBarHeight 54 globalScale 1.125 nav mode 3 event MotionEvent { action=ACTION_DOWN, actionButton=0, id[0]=0, x[0]=81.0, y[0]=327.0, toolType[0]=TOOL_TYPE_FINGER, buttonState=0, classification=NONE, metaState=0, flags=0x0, edgeFlags=0x0, pointerCount=1, historySize=0, eventTime=660939314, downTime=660939314, deviceId=7, source=0x1002, displayId=0 } rotation 0
I/Choreographer: Skipped 1 frames!  The application may be doing too much work on its main thread.
E/JavaBinder: !!! FAILED BINDER TRANSACTION !!!  (parcel size = 3240640)
D/AndroidRuntime: Shutting down VM
E/AndroidRuntime: FATAL EXCEPTION: main
    Process: com.example.testing1, PID: 8832
    java.lang.RuntimeException: Failure from system
        at android.app.Instrumentation.execStartActivity(Instrumentation.java:1720)
        at android.app.Activity.startActivityForResult(Activity.java:5319)
        at androidx.fragment.app.FragmentActivity.startActivityForResult(FragmentActivity.java:676)
        at android.app.Activity.startActivityForResult(Activity.java:5263)
        at androidx.fragment.app.FragmentActivity.startActivityForResult(FragmentActivity.java:663)
        at android.app.Activity.startActivity(Activity.java:5648)
        at android.app.Activity.startActivity(Activity.java:5616)
        at com.example.testing1.Testing2$1.onClick(Testing2.java:50)
        at android.view.View.performClick(View.java:7256)
        at android.view.View.performClickInternal(View.java:7218)
        at android.view.View.access$3800(View.java:824)
        at android.view.View$PerformClick.run(View.java:27719)
        at android.os.Handler.handleCallback(Handler.java:883)
        at android.os.Handler.dispatchMessage(Handler.java:100)
        at android.os.Looper.loop(Looper.java:228)
        at android.app.ActivityThread.main(ActivityThread.java:7782)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:981)
     Caused by: android.os.TransactionTooLargeException: data parcel size 3240640 bytes
        at android.os.BinderProxy.transactNative(Native Method)
        at android.os.BinderProxy.transact(BinderProxy.java:523)
        at android.app.IActivityTaskManager$Stub$Proxy.startActivity(IActivityTaskManager.java:3868)
        at android.app.Instrumentation.execStartActivity(Instrumentation.java:1714)
        at android.app.Activity.startActivityForResult(Activity.java:5319) 
        at androidx.fragment.app.FragmentActivity.startActivityForResult(FragmentActivity.java:676) 
        at android.app.Activity.startActivityForResult(Activity.java:5263) 
        at androidx.fragment.app.FragmentActivity.startActivityForResult(FragmentActivity.java:663) 
        at android.app.Activity.startActivity(Activity.java:5648) 
        at android.app.Activity.startActivity(Activity.java:5616) 
        at com.example.testing1.Testing2$1.onClick(Testing2.java:50) 
        at android.view.View.performClick(View.java:7256) 
        at android.view.View.performClickInternal(View.java:7218) 
        at android.view.View.access$3800(View.java:824) 
        at android.view.View$PerformClick.run(View.java:27719) 
        at android.os.Handler.handleCallback(Handler.java:883) 
        at android.os.Handler.dispatchMessage(Handler.java:100) 
        at android.os.Looper.loop(Looper.java:228) 
        at android.app.ActivityThread.main(ActivityThread.java:7782) 
        at java.lang.reflect.Method.invoke(Native Method) 
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492) 
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:981) 
I/Process: Sending signal. PID: 8832 SIG: 9


Log

Rocky
  • 41
  • 4

2 Answers2

1

Main reason behind NPE is this

hisnumber = intent.getStringArrayListExtra("hisnumber");
        hisimages = intent.getParcelableArrayListExtra("hisimages");

You need to check why is this not working

Workaround for NPE

Arraylist seems to be null , so check if its null or not in onClick()

button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {   
               Intent myIntent = new Intent(Testing2.this, MainActivity.class);
               if(hisnumber!=null){
               myIntent.putExtra("hisnumber", hisnumber);
               }
                if(hisimages!=null){
                hisnumber.add("ass");
                Bitmap bp= BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher_background);
                hisimages.add(bp);
                myIntent.putParcelableArrayListExtra("hisimages", hisimages);
                Log.d("num2", String.valueOf(hisnumber));
                Log.d("img2", String.valueOf(hisimages));
                }  
               
                startActivity(myIntent);
            }
        });
Quick learner
  • 10,632
  • 4
  • 45
  • 55
0

Your hisnumberand hisimages lists are NULL Check their Nullability before adding somthing..

Testing.java

button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                if (hisnumber != null) {
                hisnumber.add("ass");
                 }
                Bitmap bp= BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher_background);
               if (hisimages != null) {
                hisimages.add(bp);
                 }
                Intent myIntent = new Intent(Testing2.this, MainActivity.class);
                myIntent.putExtra("hisnumber", hisnumber);
                myIntent.putParcelableArrayListExtra("hisimages", hisimages);
                Log.d("num2", String.valueOf(hisnumber));
                Log.d("img2", String.valueOf(hisimages));
                startActivity(myIntent);
            }
        });
chand mohd
  • 2,363
  • 1
  • 14
  • 27