我正在制作一个邮件应用程序。我想做的是打开列表,从composeMailActivity中选择“ ContactsActivity”,选择一些联系人,然后单击“添加”以将其发送回composeMailActivity
。我要做的第一件事是在传递string
的活动之间传递标准,并且在composeMailActivity
中传递并识别了正确的字符串。然后,我添加了arrayList
的strings
-联系人ID。在chooseContactsActivity
中,调试时可以正确识别它,但是在composeMailActivity
中,它返回null
。
我尝试过的一些答案包括:1,2,3,4,5 ...
选择联系人活动:
addButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
ArrayList<String> selectedIds = adapter.selectedIds;
String text = "abc";
Intent intent = new Intent();
intent.putStringArrayListExtra("contacts_added", selectedIds);
setResult(RESULT_OK, intent);
finish();
}
});
ComposeMailActivity:
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == 1) {
if (resultCode == RESULT_OK) {
ArrayList<String> get_contacts = getIntent().getExtras().getStringArrayList("contacts_added");
}
}
}
最佳答案
您应该在data
中使用Intent
onActivityResult(int requestCode, int resultCode, Intent data)
而不是getIntent()
像这样
if (resultCode == RESULT_OK) {
ArrayList<String> get_contacts = data.getExtras().getStringArrayList("contacts_added");
}