Android从FragmentActivity刷新android.support.v4.app.Fragment

时间:2013-06-19 10:53:43

标签: android refresh fragment android-tabhost reload

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

这是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);

    }

1 个答案:

答案 0 :(得分:0)

您可以尝试使用片段类:

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

刷新并为我工作。 :)