通過Bundle傳遞Map型別資料

2021-06-07 07:47:58 字數 707 閱讀 8933

可能通過其他更好的方法可以傳遞,先記錄我知道的這個方法吧。大家指正和幫忙改進。

大家知道bundle物件只能傳遞一些基本型別和字串之類的,不能直接傳入map型別的資料,所以就暫時在情急之下想了乙個複雜的方法,雖然不好,但有效。

但是只能傳遞引數都為基本型別或者string型別的。

mapmap;

bundle bundle = new bundle();

setkeyset = map.keyset();

iteratoriter = keyset.iterator();

while(iter.hasnext())

intent.putextra("map", bundle);

獲取的方法如下:

mapmap;

bundle bundle = intent.getbundleextra("map");

setkeyset = bundle.keyset(); // 得到bundle中所有的key

iteratoriter = keyset.iterator();

while(iter.hasnext())

暫時寫了乙個方法,知道可以實現一些序列號介面或者parcelable介面,但是還沒有時間來實驗,等以後繼續更新

Bundle傳遞引數

bundle是在android中十分有用的一種類,我們通常用它來進行引數的傳遞。理解bundle可以把它當作乙個map,所以它的本質是乙個key value鍵值對。其中key值為乙個標識引數的string值,value即為該string對應的引數。使用bundle傳遞引數會在intent messa...

Bundle類用於傳遞值

android中bundle類的作用 bundle類用作攜帶資料,它類似於 map,用於存放 key value 名值對形式的值。相對於 map,它提供了各種常用型別的 put get 方法,如 putstring getstring 和putint getint put 用於往bundle 物件放...

使用EventBus代替Bundle傳遞引數。

註冊 eventbus.getdefault register this 反註冊 eventbus.getdefault unregister this post方法 eventbus.getdefault post obj 接收方法 如果使用onevent作為訂閱函式,那麼該事件在哪個執行緒發布出...