0

我对重新刷新 listfragment 中的数据感到沮丧。

1.) 问题:

我尝试在片段中处理操作栏菜单项(刷新按钮)以刷新列表中的数据,但这不起作用(没有发生任何事情)

  @Override
    public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
        getMenuInflater().inflate(R.menu.main, menu);
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
    switch (item.getItemId()) {
    case R.id.action_refresh:
    ...

2.) 问题

我有片段:

public class TodoFragment extends ListFragment implements LoaderManager.LoaderCallbacks<List<Item>>{...}

但我不知道,没有找到解决方案,如何刷新 listfragment 中的数据

或者如何从活动中刷新列表片段(在活动菜单按钮工作中)。

4

1 回答 1

0

我这样解决了这个问题:

private TodoFragment newFragment;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    newFragment = new TodoFragment();
    FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
    transaction.add(R.id.map_fragment, newFragment);
    transaction.commit();

}

 @Override
public boolean onOptionsItemSelected(MenuItem item) {

    switch (item.getItemId()) {
        case R.id.action_refresh:

         newFragment.refreshList();
         return true;

        default:
        return super.onOptionsItemSelected(item);
    }
}

    //In your fragment

public void refreshList() {
     // Your code
}
于 2013-07-30T21:39:15.333 回答