1

我正在使用 FragmentActivity 和动态创建的 FragmentTabHost。我想通过单击操作栏中的项目来刷新当前选项卡中托管的片段。

这是 FragmentActivity 中创建选项卡和片段的代码:

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_halls);

        [...]

        while (iteratorHalls.hasNext()) {

           hallFragment = new HallFragment();
           bundle = new Bundle();
           bundle.putString("Code", hallTmp.getCode());


           TabSpec tabspec=mTabHost.newTabSpec("hall_" + i);
           tabspec.setIndicator(hallTmp.getDescription());
           mTabHost.addTab(tabspec, hallFragment.getClass(), bundle);


           hallFragment.setArguments(bundle);
           i++;

        }
        [...]
    }



    @Override
  public boolean onOptionsItemSelected(MenuItem item) {

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

        // HERE I WANT TO REFRESH MY CURRENT FRAGMENT
        return true;

       default:
       return super.onOptionsItemSelected(item);

    }
4

1 回答 1

0

你可以在你的片段类中尝试:

@Override  
public void setUserVisibleHint(boolean isVisibleToUser) { 
super.setUserVisibleHint(isVisibleToUser);  
    if (isVisibleToUser) {
      //do something
    }
}

刷新并为我工作。:)

于 2014-02-23T16:27:25.097 回答