我现在对一个用户注册的功能
1.用ProgressDialog将当前页面设成不可操作(保留返回键 退出ProgressDialog)
2.用一个线程clientThread执行数据的提交和返回

问题:考虑到ProgressDialog运行过程中,返回键的操作,应该终止clientThread的运行。

以下是我的代码,希望大家互相讨论,指出我的不足,最好能给出比较好的解决方案

代码区:

btn_register.setOnClickListener(new View.OnClickListener() {  

        @Override
public void onClick(View v) {
// TODO Auto-generated method stub
if(doBeforeSubmit()){ try {
Log.v(TAG, "clientThread prepare01。。。:"+Thread.interrupted());
clienThread=new Thread(){
public void run() {
try {
Log.v(TAG, "clientThread prepare02。。。:"+Thread.interrupted());
while (!Thread.interrupted()) {
Log.v(TAG, "clientThread starting。。。");
MeApiCall meApiCall=new MeApiCallImpl();
Me me=new Me();
me.setMeEmail(et_register_account.getText().toString().trim());
me.setMePwd(et_register_pwd.getText().toString().trim());
me.setMeName(et_register_nickName.getText().toString().trim()); Log.v(TAG, "clientThread data loaded。。。");
meApiCall.register(me);
Log.v(TAG, "clientThread callback。。。"); handler.sendEmptyMessage(AppConfig.Register.SUCCESS_MSG); clienThread.interrupt(); //中断线程
}
} catch (InterruptedException e) {
// TODO: handle exception
Log.v(TAG, "clientThread is interrupt");
}catch (Exception e) {
// TODO Auto-generated catch block
Log.v(TAG, "exception: "+e.getMessage());
handler.sendEmptyMessage(AppConfig.Register.FAIL_OTHER_MSG);
e.printStackTrace();
}
}; };
Log.v(TAG, "progressDialog prepare01。。。:");
progressDialog=ProgressDialog.show(Register.this,
"",
"正在获取....",
true,
true,
new DialogInterface.OnCancelListener() { @Override
public void onCancel(DialogInterface dialog) {
// TODO Auto-generated method stub try {
clienThread.interrupt();
Log.v(TAG, "interrupt is success!");
} catch (Exception e) {
// TODO Auto-generated catch block
Log.v(TAG, "interrupt is fail!");
e.printStackTrace();
} }
}
);
Log.v(TAG, "clientThread prepareing_end。。。");
clienThread.start();
//Log.v(TAG, "clientThread prepareing_end。。。");
} catch (Exception e) {
// TODO Auto-generated catch block
Log.v(TAG, e.getMessage()+" 00");
e.printStackTrace();
} } }
});

android 异步加载图片大家可以看安卓教程网吧:http://android.662p.com/thread-316-1-1.html

最新文章

  1. a标签绝对定位,点击区域被图片遮挡(IE下)
  2. MySQL的高可用设计方案的记录
  3. jdk8 Lambda表达式与匿名内部类比较
  4. iOS开发小技巧--高斯模糊框架的应用
  5. github and SourceTree初步使用
  6. [转] Linux文件系统之hard link&symbol link
  7. android 画图之setXfermode .
  8. STM32 IAP 在线升级详解(转)
  9. Typescript高级类型与泛型难点详解
  10. Magento 2.2.5和2.2.6的bug 产品设置special price又删除后价格排序有误
  11. ACM-ICPC2018南京赛区 Mediocre String Problem
  12. ecplise中设置字符编码
  13. mssql sqlserver 模拟for循环的写法
  14. Java强引用、软引用、弱引用及虚引用深入探讨
  15. 多线程消息监听容器配置[ 消费者spring-kafka配置文件]
  16. teradata 查询创建表的时间
  17. URLDecoder: Incomplete trailing escape (%) pattern问题处理
  18. OD 实验(十四) - 内嵌补丁
  19. ubuntu 不是 识别 android 设备 解决方法
  20. ANSI实现动态 sql

热门文章

  1. Qt中在图片上叠加显示文字
  2. cocoaPods 去警告
  3. KVC , KVO , KVB
  4. [SQL]根据刚刚插入数据的 ID 向另外一张表插入数据(插入的其他字段数据需要对字符串进行分析)
  5. Node.js解析Excel
  6. WPS去掉键入时自动进行句首字母大写更正
  7. 题目1005:Graduate Admission
  8. MATLAB 实用函数
  9. 【caffe-windows】 caffe-master 之Matlab中model的分类应用
  10. 如何绕过CDN找源站ip?