1. 程式人生 > >通過Bundle傳遞Map型別資料

通過Bundle傳遞Map型別資料

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

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

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

Map<String, String[]> map;
Bundle bundle = new Bundle();
Set<String> keySet = map.keySet();
Iterator<String> iter = keySet.iterator();                    
while(iter.hasNext())
{
    String key = iter.next();
    bundle.putStringArray(key, map.get(key));
}
intent.putExtra("map", bundle);

獲取的方法如下:

Map<String, String[]> map;
Bundle bundle = intent.getBundleExtra("map");
Set<String> keySet = bundle.keySet();   // 得到bundle中所有的key
Iterator<String> iter = keySet.iterator();
while(iter.hasNext())
{
    String key = iter.next();
    map.put(key, bundle.getStringArray(key));
}


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

相關推薦

通過Bundle傳遞Map型別資料

可能通過其他更好的方法可以傳遞,先記錄我知道的這個方法吧。大家指正和幫忙改進。 大家知道Bundle物件只能傳遞一些基本型別和字串之類的,不能直接傳入Map型別的資料,所以就暫時在情急之下想了一個複雜的方法,雖然不好,但有效。 但是隻能傳遞引數都為基本型別或者String

在Activity中通過Bundle傳遞自定義資料型別

例項化Book類,得到Book物件book以及設定成員變數: if(TextUtils.isEmpty(bookName)||TextUtils.isEmpty(author)||TextUtils.isEmpty(id)){ Toast.makeText(AndroidBundleActivity.this

使用swagger傳遞map型別的引數報錯406

1、前言 最近在實現一個分頁查詢所有的使用者及其角色的功能時,遇到了406的問題,費了好長時間才解決,記錄一下解決方法。 2、排錯過程 前後端分離的專案,寫介面的時候我用到了swagger框架。先說下406是什麼意思? 406:請求的資源的內容特性無法滿足請求頭中的條件,因而無法生成響應實體。實

spring mvc+mybatis返回map型別資料為空值時欄位不顯示問題

<select id="getArticleById" resultType="map"> select * from article t </select> 當返回結果resultType為map時,

json資料轉換成map型別資料

1.json資料格式 { "status":1, "bet_list": [{"record_id":"50","game_type":"baccarat","username":"tt2","table_id": "30","period_info":"2151\/3",

Mongo的morphia讀取Map>型別資料的問題

      最近一直使用morphia,給mongo資料查詢帶來很多遍歷,但是最近專案遇到了一個嚴重的問題,在從Mongo資料庫中查詢Map<String, List<Object>>欄位時,針對value值為空list時(即[ ]),竟然讀到資料的嚴

前臺js傳入json或map型別資料給後臺及後臺接收處理操作

5.java後端使用request拿到json資料String ds = request.getParameter("postData");JSONArray json=JSONArray.fromObject(ds); //使用net.sf.json.JSONObject物件來解析jsonJSONObjec

ajax將前臺的Map型別資料傳到Servlet並解析的方法。

前臺ajax程式碼如下: for (var key in map) { alert("size of map:" + Object.keys(map).length); alert("ma

mybatis返回map型別資料空值欄位不顯示(三種解決方法)

一、查詢sql新增每個欄位的判斷空 IFNULL(rate,'') as rate11 二、ResultType利用實體返回,不用map 三、springMVC+mybatis查詢資料,返回resultType=”map”時,如果資料為空的欄位,則該欄位省略不顯示,可以

JSON傳遞bool型別資料的處理方式

ajax中使用json傳遞資料時,其它資料型別都不是問題,但是如果伺服器端生成的JSON中有bool型別的資料時,到客戶端解析時出現了小小的問題,總結如下: 伺服器返回的JSON為: {"TypeID":[1037],"Title":"河北軟體職業技術學院","Intr

springMVC封裝頁面Map型別資料

5.Map型別繫結最靈活的一種方式,可無限繫結未定義的引數,注意必須繫結在物件下(ActionForm).controller程式碼[java] view plaincopyprint?@RequestMappingpublicvoid test5(UserForm user

Bundle 儲存各型別資料的總結

1.  儲存基本型別 Bundle.putStringArray(String key,String[] value) Bundle.putBoolean(String key,boolean

後臺傳遞DateTime型別資料到前臺顯示/Date(1528873289000)/格式化

function changeDateFormat(val) { if (val != null) { var date = new Date(parseInt(

android傳遞資料bundle封裝傳遞map物件

android開發預設情況下,通過Bundle bundle=new Bundle();傳遞值是不能直接傳遞map物件的,解決辦法:  第一步:封裝自己的map,實現序列化即可 /** * 序列

Bundle傳遞資料,Handler更新UI

Bundle主要用於傳遞資料;它儲存的資料,是以key-value(鍵值對)的形式存在的。 Bundle經常使用在Activity之間或者執行緒間傳遞資料,傳遞的資料可以是boolean、byte、int、long、float、double、string等基本型別或它們對應的陣列,也可以是物件或物件陣列。

Android:Bundle傳遞資料和物件

1、Bundle傳遞資料, 因為Bundle中已經封裝好了簡單資料型別,所以我們直接去設定資料,下面就來看看具體的操作: case R.id.Btn_Msg: // 例項化一個Bundle Bundle bundle

使gdb支援string、vector、map等STL型別資料的檢視(linux)

前提條件 (1)需要安裝python [danni@vm-xxx-18 develop]$ python --version Python 2.6.6 (2)需要有gcc [[email protected]18 develop]$ gcc --version

Android通過Parcelable傳遞複雜的物件資料和簡單的物件資料

二次驗證:絕對有效 轉:https://blog.csdn.net/u014614038/article/details/56279075 Android推薦可以通過Parcelable來傳遞自定義的資料(),比如以下的資料體: public class GradeInfoForSear

es6——新增的資料型別 資料集合map

特點: 1.類似於物件,本質上是鍵值對的集合 2.“鍵”不侷限於字串,各種型別的值(包括物件)都可以當做鍵 3.物件“字串-值”,map“值-值”,是一種更加完善的hash結構實現

通過okHttp3, 輸入URL ,返回String型別資料

/** * 通過okHttp3 請求網路資料,返回String型別資料 */ public class GetJsonData { private static String TAG = "TESTJSON"; private static String data = "";