我一直在尝试在最后几个小时从不同的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 :(得分:0)
您可以获取另一个类的引用,只需调用触发xml解析器任务的方法,或者实现启动解析器的接口,然后实现处理事件的中央总线。
通过这种方式,您可以在应用中触发事件。