Android Intent傳遞對象小結

來源:互聯網
上載者:User

標籤:android   iterator   map   arraylist   stringbuilder   

效果:

想看執行個體的,感興趣的可以看之前的一篇文章

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

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.