2012-02-05 22 views
0

我使用這個類來下載txt文件的AsyncTask

class RetreiveFeedTask extends AsyncTask<String, Void,String> { 

    @Override 
    protected ArrayList<Item> doInBackground(String... params) { 
    try{ 
     URL url = new URL("myurl"); 
     InputStream is = url.openStream(); 
     BufferedReader in = new BufferedReader(new InputStreamReader(is)); 
     String str; 
     while ((str = in.readLine()) != null){ 
     } 

     in.close(); 
     return str; 
    } 
    catch (MalformedURLException e){} 
    catch (IOException e){} 

    return null; 

} 

protected void onPostExecute(Strin str) { 

} 

這是我如何調用這個類從我的活動:

new RetreiveFeedTask().execute(); 

,我想知道是否有一個將此結果傳遞給進行呼叫的活動。

回答

2

您可以創建一個偵聽器,您將在AsyncTask的構造函數中傳遞該偵聽器。在你的onPostExecute中,你只需調用這個監聽器。

類似的東西:

public interface OnTaskCompleteListener { 
    void onTaskComplete(String result); 
} 

protected void onPostExecute(String str) { 
    onTaskCompleteListener.onTaskComplete(str); 
}