我有一个 listfragment 和 FragmentActivity。在 oncreate 我可以通过以下方式填充我的 listFragment:
/**
* Create and update adapter that can set list of user
*/
private void setListUser(){
if(getListAdapter()==null){
// init adapter
adapter=new UserArrayAdapter(getActivity(),
friends);
setListAdapter(adapter);
}
else
{
//update adapter
adapter.notifyDataSetChanged();
}
}
现在,在我的 FragmentActivity 中,我想做一个搜索(并升级我的列表):
public boolean onQueryTextSubmit(String newText) {
ListUser lt = (ListUser)
getSupportFragmentManager().findFragmentById(R.id.listuser_fragment);
if (lt != null) {
lt.refreshList(newText);
}
refreshList 进行搜索(它有效..),我调用 setListUser() 但我看不到刷新。为什么?notifyDataSetChanged() 它有效 - 我试过了。谢谢!
这是刷新列表:
public void refreshList(String toSearch){
friends= SearchUser(toSearch, this.getActivity().getApplication());
setListUser();
}