2011-06-21 4 views
1

Je crée un programme qui, lorsque l'utilisateur clique sur le bouton, appelle asynctask onclick. Mais chaque fois que l'utilisateur clique sur le bouton, le texte change ... Comment puis-je implémenter quelque chose que je peux appeler juste pour utiliser la méthode asynchrone.Comment créer une instance d'AsyncTask

Voici un exemple de ce que je veux dire

 public void Talk(){   








     text1.setText("Welcome what is your name?"); 

    respond.setOnClickListener(new View.OnClickListener() { 

     @Override 
     public void onClick(View v) { 
      name = edit.getText().toString(); 
      new AsyncTask<Void, Integer, Void>(){ 

       @Override 
       protected Void doInBackground(Void... arg0) { 
        try {     
         Thread.sleep(850);    
         } catch (InterruptedException e) {       
          e.printStackTrace();    
          }    
         return null; 
       } 
       @Override   
       protected void onPostExecute(Void result) {    
        text1.setText("Nice to meet you "+name); 
        dismissDialog(typeBar); 
        } 


        @Override   
        protected void onPreExecute() { 
         typeBar = 0; 
         showDialog(typeBar); 

     } 

     }.execute((Void)null); 

     } 
    }); 






} 
    } 

Comme vous pouvez le voir evertime l'utilisateur appuie sur le bouton le texte change. Il sera certainement fastidieux de taper la méthode ayncTask à chaque fois que l'on clique sur le bouton. Tout le monde

Répondre

0

Pourquoi vous ne créez pas une classe asyntask et vous pouvez créer un objet. mais, vous devriez soigneusement, chaque objet ne peut utiliser qu'une seule fois. Si vous voulez utiliser à nouveau, vous devez créer une autre instance

Questions connexes