0

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() 動作します - 試してみました。ありがとう!

これはrefreshListです:

public void refreshList(String toSearch){
    friends= SearchUser(toSearch, this.getActivity().getApplication());
    setListUser();
}
4

0 に答える 0