Android中activity之间如何传递Hashmap数据
16lz
2021-01-25
我的使用场景是当一个页面需页面中的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()); }}
更多相关文章
- 安全新手入坑——HTML标签
- Nginx系列教程(四)| 一文带你读懂Nginx的动静分离
- “罗永浩抖音首秀”销售数据的可视化大屏是怎么做出来的呢?
- Nginx系列教程(三)| 一文带你读懂Nginx的负载均衡
- 不吹不黑!GitHub 上帮助人们学习编码的 12 个资源,错过血亏...
- Android: ListView排序及过滤
- onSaveInstanceState和onRestoreInstanceState
- GPS定位及获取卫星参数实例整理
- Webview setLayoutAlgorithm