I have an android application that using JSON or mysql for the database. in this case, user must input certain number, and if it is wrong, it gonna called own activity and say that the inputted number is wrong. I try after five times or more or sometimes, I do wrong inputted number and it's gonna be force close. I don't understand why it is gonna be happened. here is my sample code
Intent start = getIntent();
try{
int cekStart = start.getExtras().getInt("status");
Toast.makeText(getBaseContext(), "Maaf Tidak Terdaftar", 3).show();
AlertDialog.Builder alert = new AlertDialog.Builder(this);
alert.setCancelable(false);
//AlertDialog.Builder alert = new AlertDialog.Builder(this);
alert.setTitle("Login");
alert.setMessage("Masukkan Data Anda");
// Set an EditText view to get user input
LinearLayout lay=new LinearLayout(this);
lay.setOrientation(LinearLayout.VERTICAL);
final EditText no_pas = new EditText(this);
no_pas.setHint("Nomor Pasien");
lay.addView(no_pas);
alert.setView(lay);
alert.setPositiveButton("Ok", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
if(no_pasien==null)
no_pasien = no_pas.getText().toString();
new LoginProses().execute();
}
});
alert.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
finish();
}
});
alert.show();
}catch (Exception e) {
// TODO: handle exception
AlertDialog.Builder alert = new AlertDialog.Builder(this);
alert.setCancelable(false);
//AlertDialog.Builder alert = new AlertDialog.Builder(this);
alert.setTitle("Login");
alert.setMessage("Masukkan Data Anda");
// Set an EditText view to get user input
LinearLayout lay=new LinearLayout(this);
lay.setOrientation(LinearLayout.VERTICAL);
final EditText no_pas = new EditText(this);
no_pas.setHint("Nomor Pasien");
lay.addView(no_pas);
alert.setView(lay);
alert.setPositiveButton("Ok", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
no_pasien = no_pas.getText().toString();
new LoginProses().execute();
}
});
alert.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
finish();
}
});
alert.show();
}
}
class LoginProses extends AsyncTask<String, String, String> {
/**
* Before starting background thread Show Progress Dialog
* */
@Override
protected void onPreExecute() {
super.onPreExecute();
pDialog = new ProgressDialog(Login.this);
pDialog.setMessage("Checking..");
pDialog.setIndeterminate(false);
pDialog.setCancelable(true);
pDialog.show();
}
/**
* Creating product
* */
protected String doInBackground(String... args) {
String no = no_pasien;
// Building Parameters
List<NameValuePair> params = new ArrayList<NameValuePair>();
params.add(new BasicNameValuePair("no_pasien", no));
// getting JSON Object
// Note that create product url accepts POST method
JSONObject json = jsonParser.makeHttpRequest(url_login,
"POST", params);
// check log cat fro response
//Log.d("Create Response", json.toString());
// check for success tag
try {
int success = json.getInt(TAG_SUCCESS);
if (success == 1) {
// successfully created product
Intent goMainAct = new Intent();
goMainAct.setClass(Login.this, MainActivity.class);
finish();
startActivity(goMainAct);
} else {
// failed to create product
Intent getReload = getIntent();
getReload.putExtra("status", 1);
finish();
startActivity(getReload);
}
} catch (JSONException e) {
e.printStackTrace();
}
return null;
}
protected void onPostExecute(String file_url) {
// dismiss the dialog once done
pDialog.dismiss();
}
}
----UPDATE ERROR LOG----- This is the error Log..
06-24 05:28:36.257: E/WindowManager(12036): Activity com.iteadstudio.Login has leaked window com.android.internal.policy.impl.PhoneWindow$DecorView@4179ce28 that was originally added here
06-24 05:28:36.257: E/WindowManager(12036): android.view.WindowLeaked: Activity com.iteadstudio.Login has leaked window com.android.internal.policy.impl.PhoneWindow$DecorView@4179ce28 that was originally added here
06-24 05:28:36.257: E/WindowManager(12036): at android.view.ViewRootImpl.<init>(ViewRootImpl.java:344)
06-24 05:28:36.257: E/WindowManager(12036): at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:267)
06-24 05:28:36.257: E/WindowManager(12036): at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:215)
06-24 05:28:36.257: E/WindowManager(12036): at android.view.WindowManagerImpl$CompatModeWrapper.addView(WindowManagerImpl.java:140)
06-24 05:28:36.257: E/WindowManager(12036): at android.view.Window$LocalWindowManager.addView(Window.java:537)
06-24 05:28:36.257: E/WindowManager(12036): at android.app.Dialog.show(Dialog.java:278)
06-24 05:28:36.257: E/WindowManager(12036): at com.iteadstudio.Login$LoginProses.onPreExecute(Login.java:122)
06-24 05:28:36.257: E/WindowManager(12036): at android.os.AsyncTask.executeOnExecutor(AsyncTask.java:561)
06-24 05:28:36.257: E/WindowManager(12036): at android.os.AsyncTask.execute(AsyncTask.java:511)
06-24 05:28:36.257: E/WindowManager(12036): at com.iteadstudio.Login$1.onClick(Login.java:67)
06-24 05:28:36.257: E/WindowManager(12036): at com.android.internal.app.AlertController$ButtonHandler.handleMessage(AlertController.java:166)
06-24 05:28:36.257: E/WindowManager(12036): at android.os.Handler.dispatchMessage(Handler.java:99)
06-24 05:28:36.257: E/WindowManager(12036): at android.os.Looper.loop(Looper.java:137)
06-24 05:28:36.257: E/WindowManager(12036): at android.app.ActivityThread.main(ActivityThread.java:4441)
06-24 05:28:36.257: E/WindowManager(12036): at java.lang.reflect.Method.invokeNative(Native Method)
06-24 05:28:36.257: E/WindowManager(12036): at java.lang.reflect.Method.invoke(Method.java:511)
06-24 05:28:36.257: E/WindowManager(12036): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:823)
06-24 05:28:36.257: E/WindowManager(12036): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:590)
06-24 05:28:36.257: E/WindowManager(12036): at dalvik.system.NativeStart.main(Native Method)
06-24 05:28:36.257: D/AndroidRuntime(12036): Shutting down VM
06-24 05:28:36.257: W/dalvikvm(12036): threadid=1: thread exiting with uncaught exception (group=0x40aae210)
06-24 05:28:36.267: E/AndroidRuntime(12036): FATAL EXCEPTION: main
06-24 05:28:36.267: E/AndroidRuntime(12036): java.lang.IllegalArgumentException: View not attached to window manager
06-24 05:28:36.267: E/AndroidRuntime(12036): at android.view.WindowManagerImpl.findViewLocked(WindowManagerImpl.java:587)
06-24 05:28:36.267: E/AndroidRuntime(12036): at android.view.WindowManagerImpl.removeView(WindowManagerImpl.java:324)
06-24 05:28:36.267: E/AndroidRuntime(12036): at android.view.WindowManagerImpl$CompatModeWrapper.removeView(WindowManagerImpl.java:151)
06-24 05:28:36.267: E/AndroidRuntime(12036): at android.app.Dialog.dismissDialog(Dialog.java:321)
06-24 05:28:36.267: E/AndroidRuntime(12036): at android.app.Dialog$1.run(Dialog.java:119)
06-24 05:28:36.267: E/AndroidRuntime(12036): at android.app.Dialog.dismiss(Dialog.java:306)
06-24 05:28:36.267: E/AndroidRuntime(12036): at com.iteadstudio.Login$LoginProses.onPostExecute(Login.java:177)
06-24 05:28:36.267: E/AndroidRuntime(12036): at com.iteadstudio.Login$LoginProses.onPostExecute(Login.java:1)
06-24 05:28:36.267: E/AndroidRuntime(12036): at android.os.AsyncTask.finish(AsyncTask.java:602)
06-24 05:28:36.267: E/AndroidRuntime(12036): at android.os.AsyncTask.access$600(AsyncTask.java:156)
06-24 05:28:36.267: E/AndroidRuntime(12036): at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:615)
06-24 05:28:36.267: E/AndroidRuntime(12036): at android.os.Handler.dispatchMessage(Handler.java:99)
06-24 05:28:36.267: E/AndroidRuntime(12036): at android.os.Looper.loop(Looper.java:137)
06-24 05:28:36.267: E/AndroidRuntime(12036): at android.app.ActivityThread.main(ActivityThread.java:4441)
06-24 05:28:36.267: E/AndroidRuntime(12036): at java.lang.reflect.Method.invokeNative(Native Method)
06-24 05:28:36.267: E/AndroidRuntime(12036): at
java.lang.reflect.Method.invoke(Method.java:511)
06-24 05:28:36.267: E/AndroidRuntime(12036): at
com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:823)
06-24 05:28:36.267: E/AndroidRuntime(12036): at
com.android.internal.os.ZygoteInit.main(ZygoteInit.java:590)
06-24 05:28:36.267: E/AndroidRuntime(12036): at dalvik.system.NativeStart.main(Native Method)
Login.java
class LoginProses extends AsyncTask<String, String, String> { //line 110
protected void onPreExecute() {..} //line 117
protected String doInBackground(String... args) {...} //line 128
protected void onPostExecute(String file_url) {
// dismiss the dialog once done
pDialog.dismiss(); // line 177
}