2013-12-14 80 views
0

我一直在嘗試過去幾個小時刷新不同SherlockFragment的ListView。我的代碼如下所示:從其他SherlockFragment刷新ListView

public class MealsFragment extends SherlockFragment { 

    ............ 

    ............ 


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

    ....... 

    ....... 

    @Override 
    protected void onPostExecute(String response) { 
     populateMealsView(); 
     } 

    } 

} 

在MealsFragment類我打電話ParseXMLData的類,它沉重的工作,並在onPostExecute()函數,它填充一個ListView。在此之前,一切都很好!問題如下:想象我按ListView的一個項目,創建一個包含幾個TextView和一個Button的SherlockDialogFragment。當用戶按下該按鈕時,我希望再次調用ParseXMLData AsyncTask(不是來自MealsFragment類),因此可以更新列表視圖。 populateMealsView()看起來像這樣:

public void populateMealsView() { 
     //System.out.println("SIZE: " + meals.size()); 
     adapter.setItems(meals); 
     adapter.notifyDataSetChanged(); 
    } 

我該如何做到這一點? 在此先感謝!

回答

0

您既可以獲取其他類的引用,也可以調用觸發xml解析器任務的方法,或者實現一個啓動解析器的接口,並實現處理事件的中央總線。

通過這種方式,您可以在您的應用程序中觸發事件。