2011-11-01 2 views
0

j'essayais juste la tâche d'Async dans android.Quand se termine le thread AsyncQuery Handler?

Cela fonctionne mais quand le thread correspondant à cette tâche est-il tué?

Lorsque je l'ai vérifié dans DDMS, il était toujours en attente.

Voici le code sur lequel j'ai travaillé.

ThreadListQueryHandler mQueryHandler = new ThreadListQueryHandler(getContentResolver()); 
     startAsyncQuery(); 



private void startAsyncQuery() 
    { 
     try 
     { 
      setTitle("Refreshing"); 
      setProgressBarIndeterminateVisibility(true); 

      Conversation.startQueryForAll(mQueryHandler,QUERY_THREAD_LIST_ALL); 
     } 
     catch (SQLException e) { 
      Log.e("Event", "Catch a SQLiteException when query: ", e);  } 
    } 



public class ThreadListQueryHandler extends AsyncQueryHandler{ 

     public ThreadListQueryHandler(ContentResolver contentresolver) { 
      super(contentresolver); 
     } 
     @Override 
     protected void onQueryComplete(int token, Object cookie, Cursor cursor) { 

      setTitle("Complete"); 
      setProgressBarIndeterminateVisibility(false); 
      cursor.moveToFirst(); 
     switch (token) { 
    case QUERY_THREAD_LIST_ALL:     

Toast.makeText(context,""+cursor.getCount(),Toast.LENGTH_SHORT).show();    break; 

     } 
     } 

Répondre

0

Voici un quiestion similaire. En résumé, c'est normal, car le thread est réutilisé pour d'autres exécutions de AsyncTask.

Questions connexes