我正在使用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);
}
答案 0 :(得分:0)
您可以尝试使用片段类:
@Override
public void setUserVisibleHint(boolean isVisibleToUser) {
super.setUserVisibleHint(isVisibleToUser);
if (isVisibleToUser) {
//do something
}
}
刷新并为我工作。 :)