首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > 移动开发 >

Parcelable传个Map的简略应用

2012-09-23 
Parcelable传个Map的简单应用最简单的,主要是实现Parcelable的接口,重写那个CREATOR?测试用的接收信息Acti

Parcelable传个Map的简单应用

最简单的,主要是实现Parcelable的接口,重写那个CREATOR

?

测试用的接收信息Activity

package com.nico;import android.app.Activity;import android.content.Intent;import android.os.Bundle;import android.os.Parcelable;public class Test extends Activity {    /** Called when the activity is first created. */    @Override    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.main);        Intent i = getIntent();        Person p = i.getParcelableExtra("yes");        System.out.println("---->"+p.name);        System.out.println("---->"+p.map.size());    }}

?发送的Activity

package com.nico;import java.util.HashMap;import android.app.Activity;import android.content.Intent;import android.os.Bundle;public class TestNew extends Activity {    /** Called when the activity is first created. */    @Override    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.main);        Intent intent = new Intent();        Person p = new Person();        p.map = new HashMap<String,String>();        p.map.put("yes", "ido");        p.name="ok";        intent.putExtra("yes", p);        intent.setClass(this, Test.class);        startActivity(intent);    }}

?Parcelable的实现类

package com.nico;import java.util.HashMap;import android.os.Parcel;import android.os.Parcelable;public class Person implements Parcelable {public HashMap<String,String> map = new HashMap<String,String> ();public String name ;@Overridepublic int describeContents() {return 0;}@Overridepublic void writeToParcel(Parcel dest, int flags) {dest.writeMap(map);dest.writeString(name);}public static final Parcelable.Creator<Person> CREATOR = new Parcelable.Creator<Person>() {@Overridepublic Person createFromParcel(Parcel source) {Person p = new Person();p.map=source.readHashMap(HashMap.class.getClassLoader());p.name=source.readString();return p;}@Overridepublic Person[] newArray(int size) {// TODO Auto-generated method stubreturn null;}};}

?

热点排行