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;
}
}
}
}
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;
}
}
}
}
相关文章推荐
- Android 常见bug汇总
- 【Android】17、体验活动的生命周期(下)
- Android startservice和bindservice
- 【Android 基础】如何查看数字签名信息
- Android平台的 Ptrace, 注入, Hook 全攻略
- Android中EditText的setError文字不显示的问题
- Android通用流行框架大全
- Android 热修复Nuwa的原理及Gradle插件源码解析
- android学习之AIDL初探
- Android四大组件之Service
- Android——通过findViewById自动类型转换
- 使用Java代码在应用层获取Android系统属性
- android PDF 开发笔记
- Android系统启动过程详解
- Android 综合揭秘 —— 全面剖释 Service 服务
- android应用中去掉标题栏的方法
- 检查Android进程当前是否正在后台运行
- 【BaiduMapSDK系列】Android Studio下提示Couldn't load BaiduMapSDK_v3_1_0
- Android Studio使用ButterKnife 8.0.1无效的问题
- Android圆形进度条