while running this code I'am getting Null Pointer error!請給我解決方案。如何在webservice調用時添加進度條?
\\............
new LoginCheck().execute(txt_username.getText().toString(),txt_password.getText().toString());
.............//
class LoginCheck extends AsyncTask<String, String, String> {
@Override
protected void onPreExecute() {
progressBar = (ProgressBar) findViewById(R.id.progressBar1);
progressBar.setVisibility(View.VISIBLE);
super.onPreExecute();
}
protected String doInBackground(String... params) {
String responsetring = "";
try {
SoapObject request = new SoapObject(NAMESPACE, "Logincheck");
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
envelope.dotNet = true;
envelope.setOutputSoapObject(request);
request.addProperty("username",params[0]);
request.addProperty("password",params[1]);
//Msg("Version"+appversion+"AppName"+Appname,Toast.LENGTH_LONG);
HttpTransportSE androidHttpTransport = new HttpTransportSE(URL);
try {
androidHttpTransport.call(NAMESPACE + "Logincheck", envelope);
} catch (IOException | XmlPullParserException e) {
// TODO Auto-generated catch block
e.printStackTrace();
Msg(e.toString(), Toast.LENGTH_LONG);
}
SoapPrimitive response;
try {
response = (SoapPrimitive) envelope.getResponse();
responsetring = response.toString();
// Msg(responsetring.toString(), 1);
} catch (SoapFault e) {
// TODO Auto-generated catch block
e.printStackTrace();
Msg(e.toString(), Toast.LENGTH_LONG);
}
String[] splitrows = responsetring.split(";");
String usernamestr = "";
String deviceid = "";
String isanydevice = "";
if (responsetring.equals("false")) {
// Helper.InfoMsg("Alert", "Please Check userame and password and confirm device is valid", LoginActivity.this);
} else {
usernamestr = splitrows[0];
deviceid = splitrows[1];
isanydevice = splitrows[2];
TelephonyManager tm = (TelephonyManager) getSystemService(TELEPHONY_SERVICE);
if (deviceid.equals(tm.getDeviceId().toString())) {
LoginActivity.this.username = usernamestr;
Intent intent = new Intent(LoginActivity.this, MainActivity.class);
startActivity(intent);
overridePendingTransition(R.anim.right_in, R.anim.left_out);
} else {
TelephonyManager tm1 = (TelephonyManager) getSystemService(TELEPHONY_SERVICE);
// Helper.InfoMsg("Your Device Id", (tm1.getDeviceId().toString()), LoginActivity.this);
txt_warning.setText((tm1.getDeviceId().toString()));
if (isanydevice.equalsIgnoreCase("true")) {
LoginActivity.this.username = usernamestr;
Intent intent = new Intent(LoginActivity.this, MainActivity.class);
startActivity(intent);
overridePendingTransition(R.anim.right_in, R.anim.left_out);
} else {
// Helper.warning("Sorry", "Not Allowed To Login Other devices", LoginActivity.this);
// return false;
}
}
}
//return true;
} catch (Exception e) {
Msg(e.toString(), 1);
// return false;
}
return null;
}
protected void onPostExecute(String result) {
progressBar.setVisibility(View.INVISIBLE);
}
}
其中空指針異常? –
請在android.app.Dialog上發佈您的logcat @prabhu – curiousMind
java.lang.NullPointerException 。(Dialog.java:165) at android.app.AlertDialog。 (AlertDialog.java:114) at android.app.AlertDialog。 (AlertDialog.java:110) at android.app.ProgressDialog。 (ProgressDialog.java:82) at com.scm.androscm.LoginActivity $ LoginCheck。 (LoginActivity.java:185) –
prabhu