Java 只要HashMap使用intent,如何将数据从一个活动解析到另一个活动
我正在尝试将数据从一个活动解析到另一个活动。 我要分析的数据来自以下HashMap:Java 只要HashMap使用intent,如何将数据从一个活动解析到另一个活动,java,android,android-intent,hashmap,Java,Android,Android Intent,Hashmap,我正在尝试将数据从一个活动解析到另一个活动。 我要分析的数据来自以下HashMap: ImageButton map = (ImageButton) findViewById(R.id.mapbtn); map.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent
ImageButton map = (ImageButton) findViewById(R.id.mapbtn);
map.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent i = new Intent(Locations.this, MapsActivity.class);
for (final HashMap<String, String> contact : contactList) {
String names = contact.get("name");
String str = contact.get("street");
String post = contact.get("postalcode");
String open = contact.get("opening");
String entr = contact.get("entry");
String age = contact.get("agegroup");
String bag = contact.get("background");
String prevbild = contact.get("imageurl");
String fsk = contact.get("Fsk");
i.putExtra("name", names);
i.putExtra("postal", post);
i.putExtra("street", str);
i.putExtra("opening", open);
i.putExtra("entry", entr);
i.putExtra("agegroup", age);
i.putExtra("background", bag);
i.putExtra("imageurl", prevbild);
i.putExtra("fsk", fsk);
}
startActivity(i);
}
});
ImageButton映射=(ImageButton)findviewbyd(R.id.mapbtn);
map.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
意向i=新意向(Locations.this、MapsActivity.class);
用于(最终HashMap联系人:联系人列表){
字符串名称=contact.get(“名称”);
String str=contact.get(“street”);
字符串post=contact.get(“postalcode”);
字符串打开=contact.get(“打开”);
String entr=contact.get(“条目”);
字符串年龄=contact.get(“年龄组”);
字符串包=contact.get(“背景”);
字符串prevbild=contact.get(“imageurl”);
字符串fsk=contact.get(“fsk”);
i、 putExtra(“名称”,名称);
i、 邮递;
i、 Puttera(“街”,街);
i、 putExtra(“打开”,打开);
i、 额外输入(“输入”,entr);
i、 putExtra(“年龄组”,年龄);
i、 putExtra(“背景”,袋子);
i、 putExtra(“imageurl”,prevbild);
i、 putExtra(“fsk”,fsk);
}
星触觉(i);
}
});
这很好,但我不知道如何在其他活动中获取数据。我尝试了以下方法,但不起作用:
for (final HashMap<String, String> contact : contactList) {
String names = getIntent().getStringExtra("name");
Toast.makeText(getApplicationContext(),names, Toast.LENGTH_LONG).show();
}
for(最终HashMap联系人:联系人列表){
字符串名称=getIntent().getStringExtra(“名称”);
Toast.makeText(getApplicationContext(),name,Toast.LENGTH_LONG.show();
}
谢谢您能否尝试在第一个活动中记录变量
names
,以确保它不是空字符串?仅供参考:您可以将多个putExtra
调用链接在一起,例如:i.putExtra(“name”,names)。putExtra(“postal”,post)。putExtra(…
尝试将它们放在一个捆绑包中,循环中的每次迭代都会覆盖与给定键关联的值,因此,即使您正确传递了映射,您也只会收到另一个ActivityPopulated重复问题中的最后一个。请参见以下答案:顺便问一句,为什么您使用HashMap而不是对象联系人列表?您可以尝试吗在第一个活动中记录变量names
,以确保它不是空字符串?仅供参考:您可以将多个putExtra
调用链接在一起,例如:i.putExtra(“name”,names)。putExtra(“posal”,post)。putExtra(…
尝试将它们放在一个捆绑包中,循环中的每次迭代都将覆盖与给定键关联的值,因此即使您正确地传递了映射,您也只会收到另一个可能重复的问题中的最后一个。请参阅此答案:顺便问一下,为什么您使用HashMap而不是对象联系人列表?