我正在制作邮件应用程序。我想做的是打开列表 chosecontactsactivity 来自 composemailactivity ,选择一些联系人,然后单击"添加"到composeMailActivity
。我要做的第一件事是在我通过string
的活动之间通过的标准通过,并且在composeMailActivity
中传递了正确的字符串。然后,我添加了arrayList
的CC_4 - 联系人ID。在chooseContactsActivity
中,调试时可以正确识别它,但是在composeMailActivity
中,它返回null
。
我尝试的一些答案包括:1、2、3、4、5 ...
chosecontactsactsactivity:
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");
}
}
}
您应该在onActivityResult(int requestCode, int resultCode, Intent data)
中使用data
Intent
而不是getIntent()
像这样
if (resultCode == RESULT_OK) {
ArrayList<String> get_contacts = data.getExtras().getStringArrayList("contacts_added");
}
我想尝试获取" contacts_added"表单"数据"。而不是致电getIntent()
尝试
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 = data.getExtras().getStringArrayList("contacts_added");
}
}
}
希望这能解决您的问题。