相信大家对于Hander的用法一定不会陌生,但是最近面临的一个如何传输List和Map的问题。
在这里要用到类型转换。下面的一条实例解决这个问题。
Hander的代码:
private Handler handler=new Handler(){
@Override
public void handleMessage(Message msg) {
List<Map<String,Object>>listweather=new ArrayList<Map<String, Object>>();
listweather=(List<Map<String,Object>>)msg.obj;//强制类型转换
String string_weather=listweather.get(0).get("weatherType").toString();
super.handleMessage(msg);
}
};
Message的代码:
Message message=new Message();
List<Map<String,Object>>listweather=new ArrayList<Map<String, Object>>();
Map<String,Object>mapweather=new HashMap<String, Object>();
String string_weather=data_weatherAndaccount.ReadInfo_Weather();//获取信息
mapweather.put("weatherType",string_weather);
listweather.add(mapweather);
message.obj=listweather;
message.what=Type_weather;
handler.sendMessage(message);
本例中使用的是Map,List也是这样的模式。