Note that there are some explanatory texts on larger screens.

plurals
  1. PODisabling Re-execution of Async Task on finishing of foreground activity
    primarykey
    data
    text
    <p><strong>Case:</strong> I am using Async Task for showing some list. When I click on any item of listview another activity comes foreground of last activity. This foreground activity contains a finish button through which the foreground activity finishes.</p> <p><strong>Problem:</strong> When i press finish button the foreground activity finishes but that last activity having the Async Task executes again.</p> <p><strong>Need:</strong> I want when i press finish button then only foreground activity finishes and background activity having Async Task must not execute again. That background activity must be same as it was before opening foreground activity.</p> <p><strong>EDIT:</strong> First Class having Asynch Task</p> <pre><code>protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.restaurant_detail); Intent i = getIntent(); res_id = i.getStringExtra("id"); gps = new GPSTracker(getApplicationContext()); session = new SessionManagement(getApplicationContext()); fillDatabase = new DatabaseHandler(getApplicationContext()); fillDatabase.open(); count = fillDatabase.fetchCount(); SetUpViews(); SimpleDateFormat sdf = new SimpleDateFormat("EEEE"); Date d = new Date(); dayOfTheWeek = sdf.format(d); Log.i("WEEKDAY", dayOfTheWeek); imageLoader = new ImageLoader(getParent()); progressDialog = ProgressDialog.show(getParent(), "", "Loading..."); Log.v(String.valueOf(count), "count"); // new MenuTask().execute(); new DetailsTask().execute(); } public class DetailsTask extends AsyncTask&lt;String, String, String&gt; { @Override protected String doInBackground(String... arg0) { // Creating JSON Parser instance////////// JSONParser jParser = new JSONParser(); // Getting JSON String from URL.............. JSONObject jObject = jParser .getJSONFromUrl("http://smartaway.dk/json/rest_get_details.php?id=" + res_id); try { // /Getting array of Events....... details = jObject.getJSONArray(TAG_NODE); // / LOOping through AllEvents........ for (int i = 0; i &lt; details.length(); i++) { JSONObject e = details.getJSONObject(i); res_id = e.getString(TAG_ID); res_name = e.getString(TAG_RESNAME); logo = e.getString(TAG_RES_LOGO); name = e.getString(TAG_RESNAME); city_state = e.getString(TAG_CITY); street = e.getString(TAG_STREET); localityString = e.getString(TAG_LOCALITY); restype = e.getString(TAG_RESTYPE); Log.v(restype, "restype"); lat = e.getString(TAG_LAT); Log.v(lat, "latitude"); lng = e.getString(TAG_LNG); Log.v(lng, "longitude"); cuisineString = e.getString(TAG_COUSINE); timingsString = e.getString(TAG_TIMING); // costString = e.getString(TAG_COSRTWO); res_des_String = e.getString(TAG_RES_DES); cardString = e.getString(TAG_CARDS); facilitiesString = e.getString(TAG_FACILITIES); parkingString = e.getString(TAG_PARKING); minorderString = e.getString(TAG_MINORDER); deliverychargesString = e.getString(TAG_DELIVERY_CHARGES); ratings = e.getString(TAG_RATING); smily = e.getString(TAG_SMILY); s_o_t = e.getString(TAG_S_O); s_c_t = e.getString(TAG_S_C); m_o_t = e.getString(TAG_M_O); m_c_t = e.getString(TAG_M_C); t_o_t = e.getString(TAG_T_O); t_c_t = e.getString(TAG_T_C); w_o_t = e.getString(TAG_W_O); w_c_t = e.getString(TAG_W_C); th_o_t = e.getString(TAG_TH_O); th_c_t = e.getString(TAG_TH_C); f_o_t = e.getString(TAG_F_O); f_c_t = e.getString(TAG_F_C); sat_o_t = e.getString(TAG_SAT_O); sat_c_t = e.getString(TAG_SAT_C); smily = e.getString(TAG_SMILY); } } catch (JSONException e) { e.printStackTrace(); } return null; } @Override protected void onPostExecute(String result) { super.onPostExecute(result); // progressBar.setVisibility(View.GONE); progressDialog.dismiss(); detail.setVisibility(View.VISIBLE); imageLoader.DisplayImage(logo, reslogo); resname.setText(StringEscapeUtils.unescapeHtml(name)); toptxt.setText(StringEscapeUtils.unescapeHtml(name)); address.setText(StringEscapeUtils.unescapeHtml(street) + " \n" + StringEscapeUtils.unescapeHtml(localityString) + " " + StringEscapeUtils.unescapeHtml(city_state)); cuisineString = (cuisineString.equals("") ? "Not present" : StringEscapeUtils.unescapeHtml(cuisineString)); cuisine.setText(cuisineString); if (dayOfTheWeek.equalsIgnoreCase("monday")) { timings.setText(m_o_t + " - " + m_c_t); } else if (dayOfTheWeek.equalsIgnoreCase("tuesday")) { timings.setText(t_o_t + " - " + t_c_t); } else if (dayOfTheWeek.equalsIgnoreCase("wednesday")) { timings.setText(w_o_t + " - " + w_c_t); } else if (dayOfTheWeek.equalsIgnoreCase("thursday")) { timings.setText(th_o_t + " - " + th_c_t); } else if (dayOfTheWeek.equalsIgnoreCase("friday")) { timings.setText(f_o_t + " - " + f_c_t); } else if (dayOfTheWeek.equalsIgnoreCase("saturday")) { timings.setText(sat_o_t + " - " + sat_c_t); } else if (dayOfTheWeek.equalsIgnoreCase("sunday")) { timings.setText(s_o_t + " - " + s_c_t); } // costfortwo.setText(costString); res_des_String = (res_des_String.equals("") ? "Not present" : StringEscapeUtils.unescapeHtml(res_des_String)); cardString = (cardString.equals("") ? "Not present" : StringEscapeUtils.unescapeHtml(cardString)); parkingString = (parkingString.equals("") ? "Not present" : StringEscapeUtils.unescapeHtml(parkingString)); facilitiesString = (facilitiesString.equals("") ? "Not present" : StringEscapeUtils.unescapeHtml(facilitiesString)); minorderString = (minorderString.equals("") ? "Not present" : StringEscapeUtils.unescapeHtml(minorderString)); deliverychargesString = (deliverychargesString.equals("") ? "Not present" : StringEscapeUtils.unescapeHtml(deliverychargesString)); res_description.setText(res_des_String.replaceAll( "(\r\n\t|\n\t|\n|\t)", "")); cards.setText(cardString); facilities.setText(facilitiesString); parking.setText(parkingString); minoredr.setText(minorderString); delivery_charges.setText(deliverychargesString); if (ratings.equals("")) { rating.setVisibility(View.GONE); } else { DecimalFormat numberFormat = new DecimalFormat("##.##"); rating.setText(numberFormat.format(Double.valueOf(ratings))); } if (smily.equals("1")) { smiley.setImageResource(R.drawable.happy_smile); } else if (smily.equals("0")) { smiley.setImageResource(R.drawable.sad_smile); } else { smileyLayout.setVisibility(View.GONE); } } } </code></pre> <p><strong>Second Class Having finish Button</strong></p> <pre><code>setContentView(R.layout.submenulist); Intent i = getIntent(); main_menu = i.getStringExtra("id"); res_id = i.getStringExtra("res_id"); res_name = i.getStringExtra("res_name"); Log.v("Main Menu Name", main_menu); fillDatabase = new DatabaseHandler(getApplicationContext()); fillDatabase.open(); count = fillDatabase.fetchCount(); backButton = (Button) findViewById(R.id.finish); backButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub finish(); } }); } </code></pre> <p>Second activity have button on pressing that foreground activity finishes but after finishing that background activity call Acync Task to execute again. How to reslove that.</p> <p><strong>Thanks a lot</strong> </p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload