解决方案 »

  1.   


    onPostExecute()已经是执行在UI线程了
      

  2.   


    onPostExecute()已经是执行在UI线程了
    soga
      

  3.   

    dialogForWaiting.dismiss();这句话应该是执行了,只是不消失,如果我没记错应该是DialogInterface dialog.dismiss吧,,,
      

  4.   

    找到原因了,不是dialog的原因,是这里的问题:
    我定义了这个:private String responseCode; 
    由于login方法返回空,所以 responseCode也为空,在onPostExecute方法里我这样做了判断:
    //返回码为0000则登录成功,进入到还款界面
                if(responseCode.equals(Response.CODE_SUCCESS)){ //这里的Response.CODE_SUCCESS是个字符串常量:"0000"
                    startIntent(mContext, JinLianActivity.class);
                }
                //返回码为5000则登录失败,进入到完善用户信息界面
                else if(responseCode.equals("5000")){
                    startIntent(mContext, RegisterActivity.class);
                }
    这样做判断很危险,因为responseCode可能为null,应该把不为空的字符串写在equals方法前面:
     if(Response.CODE_SUCCESS.equals(responseCode)){ //这里的Response.CODE_SUCCESS是个字符串常量
                    startIntent(mContext, JinLianActivity.class);
                }
                //返回码为5000则登录失败,进入到完善用户信息界面
                else if("5000".equals(responseCode)){
                    startIntent(mContext, RegisterActivity.class);
                }