0

场景: 我有一个显示朋友列表的列表片段。当按下列表项时,我会在对话框片段中显示朋友的详细信息。

问题: 在对话片段中,我可以选择从我的朋友列表中删除该朋友(在远程服务器中)。我正在使用 Async tack 来执行此操作。从对话片段返回后,我应该如何更新“旧”朋友列表。如何触发片段“重新加载”。由于异步任务不知道列表片段中使用的自定义列表适配器。

抱歉,我会尽快添加代码。如果有人在此之前遇到过这种情况,请提供您的建议。

编辑:从远程服务器的朋友列表中成功删除朋友后,我想重新加载列表片段中显示的列表。有没有办法在列表片段本身中触发 dataSetChanged 通知。

4

2 回答 2

1

因此,您将使用 ArrayList 填充 ListView。

  • 单击 index = ListViewItemIndex 从 ArrayList 中删除项目。
  • 在您使用的适配器上调用 notifyDataSetChanged。
于 2013-01-04T07:24:07.397 回答
0

没问题。我猜这ListFragment是从某个数据源读取的——无论是一个ArrayAdapter还是一个SimpleCursorAdapter(或类似的东西)——你的任务也在修改那个源。完成AsyncTask后,您应该能够获取该片段并更新基础数据。例如:

// ...
void onPostExecute(Void result) {
    ListFragment lFrag = (ListFragment) getFragmentManager().findFragmentById(R.id.yourListFragment);
    BaseAdapter adapter = (BaseAdapter) lFrag.getListAdapter();
    adapter.notifyDataSetChanged();
}
于 2013-01-04T07:26:17.827 回答