Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android中activity之間如何傳遞Hashmap數據

Android中activity之間如何傳遞Hashmap數據

編輯:關於Android編程

我的使用場景是當一個頁面需頁面中的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 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 map;
    public  SerMap(){

    }

    public HashMap getMap() {
        return map;
    }

    public void setMap(HashMap 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 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());



    }
}
  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved