2012-09-03 146 views
0

我有兩個名爲「活動A」和「活動B」的活動。在我的活動A我需要通過Arraylist<BeanClass>到活動B.下面是活動A碼....如何將Arraylist <BeanClass>從一項活動傳遞給另一項?

Arraylist<BeanClass> list; 
list.add(new BeanClass(nm, Add, Phn)); 
Intent i = new Intent(Activity A.this,Activity B.class); 

現在如何通過list到下一個活動,並接受它,以及...

這裏是一個BeanClass.java

public class BeanClass 
{ 
    String name,address,phone; 

    BeanClass(String name,String address,String phone) 
    { 

     this.name=name; 
     this.address=address; 
     this.phone=phone; 
    } 

} 
+0

您還沒有初始化'ArrayList的列表;'和你」重新傳遞錯誤的參數。請發佈*正確的*代碼。 – adatapost

+0

其實我是在我的代碼中做的,但忘了在這裏做... –

+0

如何錯誤的參數.. ?? nm,Add,phn是String本身... –

回答

4

您必須使BeanClass類可序列化。

public class BeanClass implements Serializable 
{ 
    //fields 
    //constructors 
    //setter/getter 
} 

準備List並通過Intent.putExtra()

Intent intent=new Intent(MainActivity.this, NextActivity.class); 
ArrayList<BeanClass> list=new ArrayList<BeanClass>(); 
list.add(new BeanClass(nm, Add, Phn)); 
... 

intent.putExtra("list", list); 
startActivity(intent); 

傳遞和接收ListNextActivity's onCreate方法

Intent intent=getIntent(); 
ArrayList<BeanClass> list=(ArrayList<BeanClass>)intent.getSerializableExtra("list"); 
+0

thanx很多..它的工作原理... –

+0

我可以用Vector來代替ArrayList嗎? –

+0

是的,Vector是可序列化的。但是,爲什麼你對**遺留** API感興趣? – adatapost

相關問題