标签:
我的使用场景是当一个页面需页面中的listview中的hashmap的数据时要另一个,就要用到了传递hashmap数据。
在发送方,我的代码是这样的:
package cn.oddcloud.www.coffeestore.Test;
import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;
import java.util.HashMap;
import cn.oddcloud.www.coffeestore.R;
public class Main2Activity extends AppCompatActivity {
HashMap<String,Object> map;
Button button;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main2);
button= (Button) findViewById(R.id.button);
map=new HashMap<>();//定义一个map,用来存储数据
map.put("to","我是分子");//键值为to的放的值是;我是分子
// 也分子
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//跳转页面
Intent intent=new Intent(Main2Activity.this,Main4Activity.class);
//让hashmap实现可序列化则要定义一个实现可序列化的类。
SerMap serMap=new SerMap();
//传递map到SerMap 中的map,这样数据就会传递到SerMap 中的map中。
serMap.setMap(map);
//创建Bundle对象,存放实现可序列化的SerMap
Bundle bundle=new Bundle();
bundle.putSerializable("KEY",serMap);
//意图放置bundle变量
intent.putExtras(bundle);
startActivity(intent);
}
});
}
}
自定义类
package cn.oddcloud.www.coffeestore.Test;
import java.io.Serializable;
import java.util.HashMap;
/**
* Created by Administrator on 2016/5/8.
*/
public class SerMap implements Serializable {
public HashMap<String,Object> map;
public SerMap(){
}
public HashMap<String, Object> getMap() {
return map;
}
public void setMap(HashMap<String, Object> map) {
this.map = map;
}
}
接收方:
package cn.oddcloud.www.coffeestore.Test;
import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.widget.TextView;
import java.util.HashMap;
import cn.oddcloud.www.coffeestore.R;
public class Main4Activity extends AppCompatActivity {
HashMap<String,Object> map;
TextView textView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main4);
textView= (TextView) findViewById(R.id.tess);
//获得意图
Intent intent=getIntent();
//得到数据集
Bundle bundle=intent.getExtras();
//获得自定义类
SerMap serializableMap = (SerMap) bundle
.get("KEY");
map=serializableMap.getMap();
textView.setText(map.get("to").toString()+map.get("too").toString());
}
}
Android中activity之间如何传递Hashmap数据
标签:
原文地址:http://blog.csdn.net/shrdlu/article/details/51345842