【发布时间】:2012-07-12 20:33:35
【问题描述】:
当 Fragment 2 在 onActivityCreated() 中有代码以加载数据、创建自定义数组适配器并将其设置在 ListView 上时,我需要从 Fragment 1 调用什么来强制更新/刷新 Fragment 2?
有没有办法更新/刷新 ListView 或者Replace() Fragment 的意图是强制重建它并重新运行onActivityCreated() 中的代码?
这是 Fragment 2 onActivityCreated() 代码的片段:
@Override
public void onActivityCreated(Bundle savedInstanceState)
{
super.onActivityCreated(savedInstanceState);
// Get the prepared data and load it into this view
ArrayList<ReportData> oReportResultsData = Report.LoadData(Home.ScheduleJSonData, Home.SelectedDate);
//Set the list into the gridview (Listview formatted with rows/columns)
ScheduledActivityReportGridArrayAdapter myGridArrayAdapter = new ScheduledActivityReportGridArrayAdapter(this.getActivity(), R.layout.homeschedulerow, oReportResultsData);
lstReport.setAdapter(myGridArrayAdapter);
}
我确实尝试在 Fragment Manager 上手动调用 notifyDataSetChanged(),希望这会迫使它重新加载/刷新 Fragment 2。我已经重读了文档和许多很好的答案,但自定义 LoadData() 方法和自定义适配器正在onActivityCreated() 中设置我还没有看到地址。
非常感谢!
【问题讨论】:
-
这个问题解决了吗?我遇到了类似的问题
标签: android eclipse listview refresh fragment