android小疑点,求各位解救啊

android小问题,求各位大虾解救啊!!!!
其他一切都正常,就是点击登录按钮以后,不能正常显示请稍等的对话框~~~~

代码如下:
package com.phome;


import org.ksoap2.SoapEnvelope;
import org.ksoap2.serialization.SoapObject;
import org.ksoap2.serialization.SoapPrimitive;
import org.ksoap2.serialization.SoapSerializationEnvelope;
import org.ksoap2.transport.HttpTransportSE;

import android.app.Activity;
import android.app.AlertDialog;
import android.app.ProgressDialog;
import android.app.AlertDialog.Builder;
import android.content.DialogInterface;
import android.content.Intent;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.util.Log;
import android.view.KeyEvent;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

public class LoginActivity extends Activity implements Runnable {
Button loginButton;
EditText userName;
EditText password;
ProgressDialog dialog;
Handler handler;
boolean result=false;
public void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);

  setContentView(R.layout.login); 
   
  loginButton=(Button)findViewById(R.id.signin_button);
  userName=(EditText)findViewById(R.id.username_edit);
  password=(EditText)findViewById(R.id.password_edit);
  //设置登录按钮的事件
  loginButton.setOnClickListener(
  new Button.OnClickListener()
  {
public void onClick(View v) {
//TODO 
Thread mThread=new Thread(LoginActivity.this);
dialog = ProgressDialog.show(LoginActivity.this, "提示", "请稍后......", true);
handler = new Handler() {
public void handleMessage(Message msg) {
}
};
 
mThread.start();

while(true)
{
if(!mThread.isAlive())
{
if(result)
{
Toast.makeText(LoginActivity.this, "登录成功", Toast.LENGTH_SHORT).show();
//loginToBack();
}
else
{
Toast.makeText(LoginActivity.this, "用户信息错误", Toast.LENGTH_SHORT).show();
}
break;
}
}
}
}
  );
  }

public boolean checkUser() {
String NameSpace = "http://tempuri.org/";
String MethodName = "CheckUser";
//String url = "http://192.168.6.201/WService/WebServices.asmx";
String url = "http://192.168.6.200/WService/WebServices.asmx";
String soapAction = NameSpace + MethodName;
int result = 0;
  try {
//step1 指定WebService的命名空间和调用的方法名
SoapObject request = new SoapObject(NameSpace, MethodName);  

//step2 设置调用方法的参数值,这里的参数名称最好和WebService一致
request.addProperty("_s_Username", userName.getText().toString());
request.addProperty("_s_Password", password.getText().toString());

//step3 生成调用WebService方法的SOAP请求信息,并指定SOAP的版本
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
 
//设置是否调用的是dotNet下的WebService
envelope.dotNet = true;
 
//必须,等价于envelope.bodyOut = request; 
envelope.setOutputSoapObject(request);

//step4 创建HttpTransportSE对象
HttpTransportSE ht = new HttpTransportSE(url);
 
//step5 调用WebService
Log.e("call", "call");
ht.call(soapAction, envelope);
Log.e("callend", "callend");
 
//step6 使用getResponse方法获得WebService方法的返回结果