Android Intent传递对象小结

来源:互联网 发布:网络综艺点击量 编辑:程序博客网 时间:2024/04/29 14:41

效果:

想看实例的,感兴趣的可以看之前的一篇文章

Android ViewPager Fragment实现选项卡


部分关键代码:

public class SerializeActivity extends Activity implements Serializable {Button btnlist, btnParcelable, btnSerialze;private final String TAG = "SerializeActivity";public final static String LIST_KEY = "ArrayList";public final static String PAR_KEY = "parcelable";public final static String SER_KEY = "serializable";private static final long serialVersionUID = 1L;private ArrayList<String> m_list;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_serialize);initView();initlist();}/* * 初始化视图 */public void initView() {btnlist = (Button) findViewById(R.id.btnlist);btnParcelable = (Button) findViewById(R.id.btnParcelable);btnSerialze = (Button) findViewById(R.id.btnSerialze);btnlist.setOnClickListener(btnlistener);btnParcelable.setOnClickListener(btnlistener);btnSerialze.setOnClickListener(btnlistener);}public void initlist() {m_list = new ArrayList<String>();m_list.add("www.88ios.com");m_list.add("Android移动开发");m_list.add("IOS开发入门");}/* * 按钮点击事件 */OnClickListener btnlistener = new OnClickListener() {public void onClick(View v) {switch (v.getId()) {case R.id.btnlist:intentList();break;case R.id.btnParcelable:intentParcelabe();break;case R.id.btnSerialze:intentShowSer();break;}}};     /*    *     */public void intentList() {Intent list_intent = new Intent();list_intent.putStringArrayListExtra(LIST_KEY, m_list);list_intent.setClass(SerializeActivity.this, ShowInfo.class);startActivity(list_intent);}   /*    *     */public void intentParcelabe() {Student m_Student = new Student();m_Student.setName("88ios.com");m_Student.setAge(25);m_Student.setSex("男");Intent p_Intent = new Intent(SerializeActivity.this,ShowParcelabe.class);Bundle mBundle = new Bundle();mBundle.putParcelable(PAR_KEY, m_Student);p_Intent.putExtras(mBundle);startActivity(p_Intent);}   /*    *     */public void intentShowSer() {final SerializableMap myMap = new SerializableMap();List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();Map<String, Object> maplist;Map<String, Object> paramMap4 = new HashMap<String, Object>();paramMap4.put("name", "洪生鹏");paramMap4.put("website", "www.88ios.com");paramMap4.put("address", "广州");myMap.setMap(paramMap4);SerializableMap serializableMap = (SerializableMap) myMap;maplist = serializableMap.getMap();list.add(maplist);Intent mIntent = new Intent(SerializeActivity.this, ShowSer.class);Bundle mBundle = new Bundle();mBundle.putSerializable("map", (Serializable) myMap);   //mBundle.putSerializable("map", (Serializable) list);mIntent.putExtras(mBundle);startActivity(mIntent);}}
ShowInfo.java

public class ShowInfo extends Activity {private Intent list_intent;private ArrayList<String> m_arrayList;private TextView textview;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_show_info);textview = (TextView) findViewById(R.id.textview);StringBuffer sb = new StringBuffer();list_intent = getIntent();m_arrayList = list_intent.getExtras().getStringArrayList(SerializeActivity.LIST_KEY);m_arrayList.get(0);sb.append(m_arrayList.get(0) + " \n" + m_arrayList.get(1) + "\n"+ m_arrayList.get(2));textview.setText(sb);}}

ShowParcelabe.java

public class ShowParcelabe extends Activity {private TextView textview;  @Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_show_parcelabe);textview = (TextView)findViewById(R.id.textview);          Student p_student = (Student)getIntent().getParcelableExtra(SerializeActivity.PAR_KEY);            textview.setText("姓名: " + p_student.getName()+"\n"+                              "年龄: " + p_student.getAge() + "\n" +                              "性别 : " + p_student.getSex() + "\n" +                            "类:" + p_student.getClass());    }}

ShowSer.java

public class ShowSer extends Activity {private TextView textview;StringBuilder sb = new StringBuilder();@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_show_ser);textview = (TextView)findViewById(R.id.textview);  Map<String, Object> maplist;Bundle bundle = getIntent().getExtras();SerializableMap serializableMap = (SerializableMap) bundle.get("map");maplist = serializableMap.getMap();/*for (String k : maplist.keySet()) {Toast.makeText(this, "" + maplist.get(k), Toast.LENGTH_SHORT).show();}        */Set set = maplist.entrySet();Iterator it = set.iterator();while (it.hasNext()) {Map.Entry entry = (Map.Entry) it.next();String key = (String) entry.getKey();String valu = (String) entry.getValue();sb.append(key+"  "+valu+"\n");}textview.setText(sb);   }}



转载请保留链接

http://hongshengpeng.com/article/show/271.aspx


源代码下载 


QQ

交流群:154950206 进群验证:88ios


0 0
原创粉丝点击