Activity之间的传值(常用数据类型,对象,对象集合)
Activity之间的传值(常用数据类型,对象,对象集合)<div id="cnblogs_post_body">我这是直接用Intent put值,也可以用Bundle。实现int、String、 boolean、和对应的数组、对象、对象集合之间的传值。
先看一张效果图:
http://pic002.cnblogs.com/images/2012/338120/2012102611150930.png
这些值都是通过前一个activity传过来的打印出来的。
不多说,代码搞起。
首先是第一个Activity 赋值
MainAct.java
<div class="cnblogs_Highlighter">package com.harlan.act;import java.util.ArrayList;import com.harlan.R;import android.app.Activity;import android.content.Intent;import android.os.Bundle;/** * Activity之间的传值 * @author Harlan Song * @email mark_dev@163.com */public class MainAct extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); Intent intent=new Intent(MainAct.this,ShowAct.class); /** * 1 常见数据类型都可以通过下面方式。 */ // intent.putExtra("year", 2012); intent.putExtra("isValue", true); intent.putExtra("data", "this is a test data"); intent.putExtra("IntArray",new int[]{1,2}); intent.putExtra("StringArray", new String[]{"shanghai","ganzhou","wuhan"}); intent.putExtra("BooleanArray", new boolean[]{true,false,true,false}); //String集合 ArrayList<String> arraylist=new ArrayList<String>(); arraylist.add("list1"); arraylist.add("list2"); intent.putStringArrayListExtra("arraylist", arraylist); //传递对象 intent.putExtra("student", new Student("wang",20 , "male")); ArrayList<BooK> list=new ArrayList<BooK>(); BooK book; for (int i = 1; i < 5; i++) { book=new BooK("BookName"+i, 100+i, "BookAuthor"+i); list.add(book);} intent.putParcelableArrayListExtra("bookList", list); startActivity(intent); }}
页:
[1]