Activity間用Intent傳遞集合

2021-07-24 04:25:38 字數 1437 閱讀 1881

大家都知道activity之間可以用intent傳遞資料,android提供傳遞基本型別和序列化傳遞,這樣的資料都可以通過intent來傳遞了,

傳物件可以讓物件實體實現serializable就可以了,那集合怎麼來進行傳遞呢,最後發現建立物件儲存集合可以實現。

先貼出存放集合的物件讓其實現serializable:

/**

* 序列化物件集合

*/public

class

serializablelist

implements

serializable

public void setlist(list

list)

}

需要存放的集合其單一物件也要實現serializable:
public

class

carimplements

serializable

public string getid()

public

void

setid(string id)

public string getname()

public

void

setid(string name)

}

intent傳遞集合:
//準備資料

listcarlist=new arraylist<>();

carlist.add(new car("0","比亞迪 f3"));

carlist.add(new car("1","比亞迪 唐"));

//新建存放集合的物件

serializablelistserlist=new serializablelist<>();

serlist.setlist(carlist);

//將資料放入intent

intent intent=new intent(thisactivity.this,otheractivity.class);

intent.putextra("serlist", serlist);

startactivity(intent);

在接收的activity中獲取所傳來的資料:
serializablelist serlist= (serializablelist) getintent().getserializableextra("serlist");

list carlist=serlist.getlist();

至此我們就得到了要傳遞的資料carlist,自己用的這樣的需求,也分享給大家,很簡單不喜勿噴。哈哈~

Activity間傳遞資料

1.從當前的activity傳遞資料到下乙個activity 1 傳送方 當前的activity bundle bundle new bundle bundle.putstring name haoye bundle.putint id 10 intent intent new intent int...

Activity間如何傳遞物件

我們知道在android 系統中,可以用bundle或intent來儲存和傳遞資料。我們有時由於程式某種需要,可能需要傳遞各種各樣的自定義物件,只傳遞簡單型別的資料是不夠的。但這些物件在activity之間不能直接傳遞,用什麼方法去解決?方法一 將乙個公共類作為物件傳輸中介,但安全性差,可能由於多個...

Android 多個Activity間物件共享

這裡總結了android中幾種物件共享的方式,便於以後查閱。這種方式比較常見,有很多的介紹,主要通過 intent型別,將要傳遞的資料與乙個key繫結,在另一activity中通過key進行取值。但此方式的問題是可以傳遞 共享 的 資料型別有限,比如遇到不可序列化的資料bitmap,inputstr...