-2

I want to receive string from another activity. But it gave me an NPE.

MainActivity.class

private void searchProcess(final String searchPhone) {
    String tag_string_req = "req_search";
    Intent i2 = new Intent(MainActivity.this, DbActivity.class);
    Bundle bundle = new Bundle();
    bundle.putString("searchPhone", searchPhone);
    i2.putExtras(bundle);
    i2.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP);
    startActivity(i2);
    Log.d(TAG, "SENDING NUMBER FROM MAIN ACTIVITY: " + searchPhone);

}

DbActivity.class

Bundle bundle1 = getIntent().getExtras();
        if (bundle1 !=null) {
            final String searchPhone = bundle1.get("searchPhone").toString();
            Log.d(TAG, "RECEIVING NUMBER FROM MainActivity: " + searchPhone);

and this error comes up

java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String java.lang.Object.toString()' on a null object reference
at site.mobilesocial.google.DbActivity.onCreate(DbActivity.java:156)

and line 156 is

final String searchPhone = bundle1.get("searchPhone").toString();

help please

Phantômaxx
  • 36,442
  • 21
  • 78
  • 108
Temuujin
  • 47
  • 8

3 Answers3

0

How about using .getStringExtra() in DbActivity.class?

CodeRed
  • 877
  • 4
  • 22
0

Solution: I was trying to convert null object to string. Found a solution thanks.

Bundle bundle1 = getIntent().getExtras();
        if (bundle1 !=null) {
            final Object searchPhone = bundle1.get("searchPhone");
            //noinspection StatementWithEmptyBody
            if (isNull(searchPhone)){

            } else {
               final String searchPhone1 = searchPhone.toString();
               extranumber.setText(searchPhone1);
            }
            Log.d(TAG, "RECEIVING NUMBER FROM MAIN ACTIVITY: " + searchPhone);
        } 
Temuujin
  • 47
  • 8
0

If searchPhone is null when you put into Bundle ,you would get null by bundle1.get("searchPhone"). So you should do as following code :

String searchPhoneReceived = bundle1.get("searchPhone");
if (searchPhoneReceived != null) {
    // do something
}
orzangleli
  • 178
  • 6