Java 在传递包时使用Android studio NPE

Java 在传递包时使用Android studio NPE,java,android,nullpointerexception,Java,Android,Nullpointerexception,我想从另一个活动接收字符串。但它给了我一个NPE 主课 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("sear

我想从另一个活动接收字符串。但它给了我一个NPE

主课

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);

}
Bundle bundle1 = getIntent().getExtras();
        if (bundle1 !=null) {
            final String searchPhone = bundle1.get("searchPhone").toString();
            Log.d(TAG, "RECEIVING NUMBER FROM MainActivity: " + searchPhone);
DbActivity.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);

}
Bundle bundle1 = getIntent().getExtras();
        if (bundle1 !=null) {
            final String searchPhone = bundle1.get("searchPhone").toString();
            Log.d(TAG, "RECEIVING NUMBER FROM MainActivity: " + searchPhone);
这个错误出现了

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)
第156行是

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

请提供帮助

在DbActivity.class中使用.getStringExtra()如何?

解决方案:我试图将空对象转换为字符串。找到了解决方案,谢谢

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);
        } 

如果将
searchPhone
放入Bundle时为null,则通过
bundle1.get(“searchPhone”)
将得到null。因此,您应该执行以下代码:

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

无法解析方法getStringExtra()