私はアンドロイドが初めてです。ユーザーがログインボタンをクリックしたときに進行状況ダイアログを表示したい。これを試しましたが、ダイアログが表示されません
btn_logIn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View view) {
getUserCredentials();
}
}); //end of anonymous class
private void showProgressDialog() {
if (dialog == null) {
dialog = new ProgressDialog(this);
}
dialog.setMessage("Please Wait. Your authentication is in progress");
dialog.setButton("Cancel", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which)
dialog.dismiss();
}
}); //end of anonymous class
dialog.show();
} //end of showProgressDialog()
private void getUserCredentials() {
EditText txt_userName = (EditText) findViewById(R.id.txt_userName);
String userName = txt_userName.getText().toString();
EditText txt_password = (EditText) findViewById(R.id.txt_password);
String password = txt_password.getText().toString();
if (userName != null && !userName.trim().equals("") && password != null && !password.trim().equals("")) {
showProgressDialog();
callWebService(userName, password);
}
} //end of getUserCredentials()
private void callWebService(String userName, String password) {
try {
SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME);
request.addProperty("userName", userName);
....
Object result = envelope.getResponse();
if (result.equals("true")) {
dialog.dismiss();
Toast.makeText(this, result.toString(), Toast.LENGTH_SHORT).show();
} else {
dialog.dismiss();
Toast.makeText(this, result.toString(), Toast.LENGTH_SHORT).show();
}
} catch (SocketTimeoutException e) {
dialog.dismiss();
Toast.makeText(this, "Service is not connected, Please make sure your server is running", Toast.LENGTH_LONG).show();
} catch(Exception e) {
e.printStackTrace();
dialog.dismiss();
Toast.makeText(this, "Unable to connect, please try again later. Thank you", Toast.LENGTH_LONG).show();
}
} //end of callWebServide()
私は何か間違ったことをしていますか?ログインボタンをクリックしてサービスが実行されていない場合、「サービスが接続されていないことを確認してください。サーバーが実行されていることを確認してください」というメッセージが表示されますが、ダイアログが表示されません...なぜですか?私のロジックは、ユーザーがログインをクリックしたときですボタンとフィールドに値があり、進行状況ダイアログの表示を開始し、結果が来たとき、サーバーが実行されていないとき、または例外が発生した場合などに何かが発生した場合、ダイアログを削除して適切なメッセージを表示しますが、ダイアログが表示されません...なぜ? 私は何を間違っていますか? 助けてください..
ありがとう