您的位置:首页 > 移动开发 > Android开发

android handler 弱引用

2016-05-11 19:11 381 查看
static class MyHandler extends Handler{
WeakReference<StationListActivity> mActivity ;
MyHandler(StationListActivity activity){
mActivity = new WeakReference<StationListActivity>(activity);
}

@Override
public void handleMessage(Message msg) {
StationListActivity theAvActivity = mActivity.get();
switch (msg.what) {
case 1:
String json = msg.getData().getString("json");
try {
JSONObject result = new JSONObject(json);
if(result.getInt("code")==1){
JSONArray array = new JSONArray(result.getString("result"));
String[] datas = new String[array.length()];
for (int i = 0; i < array.length(); i++) {
datas[i]=array.getJSONObject(i).getString("ID");
}
theAvActivity.mData = datas;
theAvActivity.setData();
} else if(result.getInt("code")==-1) {
Utils.toastShort(theAvActivity, "数据查询异常");
}

} catch (JSONException e) {
e.printStackTrace();
} finally {
theAvActivity.mProgressDialog.dismiss();
}
break;
case 2:
theAvActivity.mProgressDialog.dismiss();
Utils.toastShort(theAvActivity, msg.getData().getString("msg"));
break;
case -1:
theAvActivity.mProgressDialog.dismiss();
Utils.toastShort(theAvActivity, msg.getData().getString("msg"));
break;
default:
break;
}
}


}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: