ошибка утечки окна не решена после вставки данных в MySQL

0

Я использую localhost и базу данных MySQL в своем проекте. я должен вставить данные в базу данных, а затем перейти к следующей запланированной деятельности. Данные успешно добавляются в базу данных, но после этого приложение завершается ошибкой утечки окна в logcat.

Код:

class CreateNewCourier extends AsyncTask<String, String, String> {

            /**
             * Before starting background thread Show Progress Dialog
             * */
            @Override
            protected void onPreExecute() {
               super.onPreExecute();
                pDialog = new ProgressDialog(PackageDetail.this);
                pDialog.setMessage("Adding Details..");
                pDialog.setIndeterminate(false);
                pDialog.setCancelable(true);
                pDialog.show();
            }

            /**
             * Creating product
             * */
            protected String doInBackground(String... args) {


                // Building Parameters
                List<NameValuePair> params = new ArrayList<NameValuePair>();
                params.add(new BasicNameValuePair("user_no", "120"));
                params.add(new BasicNameValuePair("recp_name", recp_name));
                params.add(new BasicNameValuePair("recp_no", recp_no));
                params.add(new BasicNameValuePair("recp_adres", recp_adres));
                params.add(new BasicNameValuePair("pkg_name", pkg_name));
                params.add(new BasicNameValuePair("pkg_quan", pkg_quan));
                params.add(new BasicNameValuePair("pickup_adres", pickup_adres));
                params.add(new BasicNameValuePair("pkg_type", pkg_type));
                params.add(new BasicNameValuePair("veh_type", veh_type));
                params.add(new BasicNameValuePair("Breakable", Breakable));

                // getting JSON Object
                // Note that create product url accepts POST method
                JSONObject json = jsonParser.makeHttpRequest(url_create_product,
                        "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 i = new Intent(getApplicationContext(), Login.class);
                        startActivity(i);

                        // closing this screen

                       finish();
                    } else {

                        //failed to create product
                   }
                } catch (JSONException e) {
                   e.printStackTrace();

                }

                    return null;
                }

            /**
             * After completing background task Dismiss the progress dialog
             * **/
            protected void onPostExecute(String file_url) {
                 //dismiss the dialog once done
               pDialog.dismiss();

            }

Изображение 174551

  • 0
    как говорится в log , ваша активность либо сбой, либо его, потому что вы вызываете следующую активность, прежде чем закрывать диалоговое окно, что приводит к утечке window которое в вашем случае pDialog
Теги:

1 ответ

0
Лучший ответ

Вот решение, переместите этот код на onPostExecute() после pDialog.dismiss();

if (success == 1) {
                    // successfully created product
                    Intent i = new Intent(getApplicationContext(), Login.class);
                    startActivity(i);

                    // closing this screen

                   finish();
                } else {

                    //failed to create product
               }

а также в onDestroy деятельности добавить pDialog.dismiss(); во избежание утечки

  • 0
    работал на меня спасибо
  • 0
    добро пожаловать, я рад, что это сработало для вас счастливое кодирование

Ещё вопросы

Сообщество Overcoder
Наверх
Меню