Android(安卓)Intent传递对象摘要
16lz
2021-12-04
效果:
想看实例的,感兴趣的能够看之前的一篇文章
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开发入门");}/* * button点击事件 */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
源码下载
交易所集团:154950206 进群验证:88ios
版权声明:本文博客原创文章,博客,未经同意,不得转载。
更多相关文章
- 安卓开发模拟器运行时报错原因以及解决方法
- Android开发资料推荐之20个Android游戏源码!
- Android(安卓)近百个项目的源代码,覆盖Android开发的每个领域
- cygwin配置swig开发环境(Android)
- 我开发的第一个Android软件
- Windows下 BlackBerry & Google Android(安卓)开发平台搭建
- Android平台开发-Android(安卓)keypad map-Android按键事件
- Android进程和线程(Android开发指南--译)
- android源码下载,从Android2.2.2到4.2.2的源码整理汇总