2011-06-20 38 views
1

我正在製作一個程序,當用戶單擊該按鈕時,在onclick中調用asynctask。但每次用戶點擊按鈕的文本更改...我怎麼能實現一些我可以調用只是爲了利用異步方法。Android AsyncTask實例或類

這裏是我的意思

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);  
     } 
    }); 
} 

因此,大家可以看到evertime用戶按下按鈕上的文字變化的例子。肯定會單調按鈕被點擊的EVERYTIME類型的ayncTask方法。任何人都知道我可以做到這一點?

+0

你爲什麼要使用的AsyncTask做到這一點重用呢? – Spidy

回答

1

我會忽略你爲什麼要使用AsyncTask。不要使用內聯類。你的活動中創建一個私有類:

private class MyAsyncTask extends AsyncTask<String, Void, Void> 

而且,例如:

MyAsyncTask.execute("Whatever")