从另一个Sherlock Fragment刷新ListView

时间:2013-12-14 19:20:20

标签: android listview android-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();
    }   

我怎样才能做到这一点? 提前谢谢!

1 个答案:

答案 0 :(得分:0)

您可以获取另一个类的引用,只需调用触发xml解析器任务的方法,或者实现启动解析器的接口,然后实现处理事件的中央总线。

通过这种方式,您可以在应用中触发事件。