Harlan-宋海青 发表于 2013-1-3 17:01:32

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]
查看完整版本: Activity之间的传值(常用数据类型,对象,对象集合)