2013-05-19 4 views
-1

J'utilise asynctask pour afficher les données de JSON, mais AsyncTask montrent le chargement ne meurt jamais, pas d'erreur, mais le chargement et le chargement de ce code doInBackground fonctionAsyncTask ne meurt jamais

@Override 
protected void onPreExecute() { 
    progressDialog.show(); 
} 

@Override 
protected Integer doInBackground(String... arg0) { 
    // check for login response 
      // Creating JSON Parser instance 
      JSONParser jParser = new JSONParser(); 
      //DatabaseHandler db = new DatabaseHandler(
       // activity.getApplicationContext()); 

      // getting JSON string from URL 

      JSONObject json = jParser.getJSONFromUrl(URL+id_user); 

      try { 
       if (json.getString(KEY_SUCCESS) != null) { 
        String res = json.getString(KEY_SUCCESS); 

        if(Integer.parseInt(res) == 1){ 
         // Getting Array of Following 
         user = json.getJSONArray(KEY_USER); 

         // looping through All Following 
         for (int i = 0; i < user.length(); i++) { 
          JSONObject c = user.getJSONObject(i); 

          // Storing each json item in variable 
          nama = c.getString(KEY_NAMA); 
          instansi = c.getString(KEY_INSTANSI); 
          status = c.getString(KEY_STATUS); 
          responseCode = 1; 

         } 
         } else{ 
          responseCode = 0; 
         } 
        } 

       } catch (NullPointerException e) { 
        e.printStackTrace(); 

       } 
       catch (JSONException e) { 
        e.printStackTrace(); 
       } 

       return responseCode; 
      } 

@Override 
protected void onPostExecute(Integer responseCode) { 
    if (responseCode == 1) { 
     headerNama = (TextView)activity.findViewById(R.id.headerNama); 
     headerInstansi = (TextView)activity.findViewById(R.id.headerInstansi); 
     buttonStatus = (Button)activity.findViewById(R.id.buttonStatus); 
     headerNama.setText(nama); 
     headerInstansi.setText(instansi); 
     buttonStatus.setText(status); 
    }else { 
     progressDialog.dismiss(); 
     activity.showDashboardError(responseCode); 

    } 
} 

Je pense pas Probleme dans doinbackground, s'il vous plaît aider merci

+1

peut vous envoyer toute tâche async? – zennon

+0

duplication possible de [threads AsyncTask ne meurent jamais (Android)] (http://stackoverflow.com/questions/3077461/asynctask-threads-never-die-android) – Raghunandan

+0

J'ai modifier avec asynctask complète s'il vous plaît aider –

Répondre

0

vous devez dismiss votre dialog comme:

if (progressDialog.isShowing()) { 
    progressDialog.dismiss();  
}