2015-05-04 149 views
1

不幸的是(據我所知)可串行化的捆綁包不能與自定義對象一起工作,我試圖傳遞(對象)數組。傳遞二維數組的對象到另一個活動

我有一等座:

public class seat{ 
    boolean state; 
    int Seatb; 
    } 

這裏是從第一個活動代碼:

seat [][] arrseat=new seat[20][20]; 
Intent intent = new Intent(this, MainActivity2.class); 
intent.putExtra("data", arrseat); 
startActivity(intent); 

次活動:

seat [][] obseat=new seat[20][20]; 
Intent intent = getIntent(); 
obseat=intent.? 

我不能找到一種方法,從意圖獲取數組

+0

http://stackoverflow.com/questions/12214847/pass-2d-array-to-another-activity –

+0

這問題可能是相關的? http://stackoverflow.com/a/2141166/4194289 – statox

回答

2

數組是可序列化的,所以你可以使用putSerializable。 把價值

Intent i = new Intent(this, AnotherClass.class); 
Bundle b = new Bundle(); 
b.putSerializable("arr", seat); 
i.putExtras(b); 

獲得價值

seat[][] arrseat = (seat[][]) bundle.getSerializable("arr"); 

also it is a similar problem here

+0

b.putSerializable(「arr」,seat);不適用於數組對象 – kalebora

+0

@kalebora它不工作的原因是因爲'seat'需要實現'Serializable'接口 – EpicPandaForce

相關問題