[英]When Returning an ArrayList of Strings Via Intent I Get null Value
I am making a mailing app. 我正在制作一个邮件应用程序。 What I want to do is open list chooseContactsActivity from composeMailActivity , select some contacts and click add to send them back to
composeMailActivity
. 我想要做的是打开列表,从composeMailActivity中选择“ ContactsActivity” ,选择一些联系人,然后单击“添加”以将其发送回
composeMailActivity
。 First thing I did was that standard passing between activities where I passed a string
, and the correct string was passed and recognized in composeMailActivity
. 我要做的第一件事是在活动之间传递了一个
string
,并且在composeMailActivity
传递并识别了正确的string
,从而实现了标准传递。 Then I added arrayList
of strings
- of contact ids. 然后,我添加了
strings
arrayList
联系人ID。 In chooseContactsActivity
it is recognized correctly when debugging, but in the composeMailActivity
it returns null
. 在
chooseContactsActivity
它被正确识别调试时,但在composeMailActivity
它返回null
。
Some of the answers I tried include: 1 , 2 , 3 , 4 , 5 ... 一些我试过的答案包括: 1 , 2 , 3 , 4 , 5 ...
ChooseContactsActivity: 选择联系人活动:
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: 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");
}
}
}
I think try to get "contacts_added" form "data". 我认为尝试从“数据”中获取“ contacts_added”。 Instead of calling
getIntent()
try 而不是调用
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");
}
}
}
Hope this will solve your problem. 希望这能解决您的问题。
You should use the data
Intent
in onActivityResult(int requestCode, int resultCode, Intent data)
instead of getIntent()
like this 您应该在
onActivityResult(int requestCode, int resultCode, Intent data)
使用data
Intent
,而不是像这样的getIntent()
if (resultCode == RESULT_OK) {
ArrayList<String> get_contacts = data.getExtras().getStringArrayList("contacts_added");
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.