Java 在传递包时使用Android studio NPE
我想从另一个活动接收字符串。但它给了我一个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
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()