在主要活动中,我发送 String[] 名称,如下所示:
private void sendNames() {
Bundle b=new Bundle();
b.putStringArray("key", names);
Intent i=new Intent(this, ListFriendsFragment.class);
i.putExtras(b);
}
当我发送名称时,它不是 100% 为空,并将此代码放入一个方法中,并在我得到名称后调用它。
在活动中我想接收字符串 [] 我得到它是这样的:
names = this.getIntent().getExtras().getStringArray("key");
在两者中,主要活动和我想要接收字符串的活动names
都声明如下:
private String[] names;
当我启动应该让names
应用程序崩溃的活动时:
Caused by: java.lang.NullPointerException
at com.utm.course.friendslist.ListFriendsFragment.PrintNames(ListFriendsFragment.java:26)
at com.utm.course.friendslist.ListFriendsFragment.onCreate(ListFriendsFragment.java:20)
我究竟做错了什么?
更新
这些是我使用的部分Intent
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (currentSession != null) {
currentSession.onActivityResult(this, requestCode, resultCode, data);
}
}
...
private void sendNames() {
Log.d("sendNames", "started");
Bundle b=new Bundle();
b.putStringArray(key, names);
Intent i=new Intent(this, ListFriendsFragment.class);
i.putExtras(b);
}
...
private void listFriends() {
Log.d("Activity", "List Friends Activity Starting");
Intent i=new Intent(MainActivity.this,ListFriendsFragment.class);
startActivity(i);
finish();
}