我正在制作一个邮件应用程序。我想做的是打开列表,从composeMailActivity中选择“ ContactsActivity”,选择一些联系人,然后单击“添加”以将其发送回composeMailActivity。我要做的第一件事是在传递string的活动之间传递标准,并且在composeMailActivity中传递并识别了正确的字符串。然后,我添加了arrayListstrings-联系人ID。在chooseContactsActivity中,调试时可以正确识别它,但是在composeMailActivity中,它返回null

我尝试过的一些答案包括:12345 ...

选择联系人活动:

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

07-26 09:33