2012-02-03 5 views
0
public class HomeActivity extends Activity{ 


// public ArrayList<User> users1 = new ArrayList<User>(); 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 

     // ListView lv = (ListView) findViewById(R.id.user_crumbs_list); 

    final ArrayList<User> users1 = new ArrayList<User>(); 
    User user = null; 
     class AsyncLoader extends AsyncTask<User,Void, ArrayList<User>> { 
      ProgressDialog dialog; 

     @Override 

     protected void onPreExecute(){ 

       dialog = new ProgressDialog(HomeActivity.this); // App - your main activity class 
       dialog.setMessage("Please, wait..."); 
       dialog.show(); 
     } 

     @Override 
     protected ArrayList<User> doInBackground(User... users) { 
      String response = ""; 

      for (User user:users) 

       try { 

        try { 
         user = new User("4eeb34c6d80e8f1214000000"); 
         user.getFollowingCrumbsUpList(); 
        } catch (IOException e) { 
         // TODO Auto-generated catch block 
         e.printStackTrace(); 
        } catch (JSONException e) { 
         // TODO Auto-generated catch block 
         e.printStackTrace(); 
        } 





        for(User u : user.following){ 
         users1.add(u); 
        } 



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

     return users1; 
     } 

     protected void onPostExecute(String result) { 
      dialog.dismiss(); 
      return; 

     } 


     } 






     AsyncLoader task = new AsyncLoader(); 
     task.execute(user); 



     setContentView(R.layout.user_main_tab_home); 
     final UserFollowingListAdapter csl = new   UserFollowingListAdapter(this,R.layout.user_list_item,users1,this); 
     ListView lv = (ListView) findViewById(R.id.user_list);   









     public void showError(){ 
     new AlertDialog.Builder(this) 
     .setTitle(" Oops , Server down :(") 
     .setPositiveButton("Ok", new DialogInterface.OnClickListener() { 

      @Override 
      public void onClick(DialogInterface arg0, int arg1) { 
       // TODO Auto-generated method stub 

      } 
      // 
     }).setNegativeButton("Cancel", new DialogInterface.OnClickListener() { 
      public void onClick(DialogInterface dialog, int whichButton) { 
       // Do nothing. 
      } 
     }).show(); 

     } 
} 

Cela se passe sur une boucle infinie où les données ne se chargent pas du tout et la boîte de dialogue va sur une boucle infinie jusqu'à ce que je clique dessus. Mon objectif est de charger une quantité initiale de données, puis d'extraire les données selon le défilement de l'utilisateur. À partir de maintenant, je ne suis même pas en mesure d'afficher les données. Après le débogage, j'ai découvert que la variable user1 ne contenait aucune valeur, ce dont je ne suis pas capable de comprendre pourquoi, même si l'itération est en cours.AsyncTask ne charge pas les données correctement.

Des indices quant à l'endroit où je vais mal?

Répondre

1

Je ne peux pas suivre ce que vous êtes essayer à faire, mais le problème réside probablement dans le fait que, au moment où vous appelez task.execute(user);, user est nulle. Donc, le for (User user:users) dans votre AsyncTask n'a aucun objet à parcourir.

+0

Pas vraiment. Comme vous pouvez le voir, j'ai de nouveau défini des utilisateurs dans la classe AsyncTask. Ce n'est pas nul. Je l'ai débogué. – Hick

+0

Ce que je fais là est juste d'afficher toutes les données. Pour l'instant, c'est tout ce que je veux faire. Ensuite, je vais mettre des contraintes sur combien de données devraient montrer à l'écran. – Hick

+0

Assez juste ... comme je l'ai dit, votre logique est un peu difficile à suivre. Si vous l'avez débogué, où est-ce qu'il raccroche? Le seul code que nous ne voyons pas - et par conséquent, est suspect - est 'getFollowingCrumbsUpList()'. Pendant l'exécution de l'application, accédez à la perspective DDMS dans Eclipse et affichez les discussions dans votre application. Trouvez l'asyncTask et voyez si ça se bloque n'importe où en particulier. –

Questions connexes