Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/220.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 只要HashMap使用intent,如何将数据从一个活动解析到另一个活动_Java_Android_Android Intent_Hashmap - Fatal编程技术网

Java 只要HashMap使用intent,如何将数据从一个活动解析到另一个活动

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

我正在尝试将数据从一个活动解析到另一个活动。 我要分析的数据来自以下HashMap:

  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而不是对象联系人列表?