我在想這是否可以完成。基本上我有一個佈局,其中有2個片段,我用於大多數標籤,但在2個標籤中,我想添加更多片段以顯示更多內容。更改標籤時是否可以將內容視圖更改爲不同的佈局?根據操作欄選項卡更改活動內容視圖
如果不能完成,我想創建一個佈局,其中包含我需要的所有片段部分,只是更改片段的佈局,以便我不使用的那些不會「顯示」。我不是故意使用FragmentTransaction.hide()
,因爲我希望片段在其他人不使用時填滿屏幕。這是一個壞主意,還是有更簡單的方法去做我想要的?
,這裏是我的活動代碼和標籤
public class Tabs extends Activity{
long deleteID;
@Override
public void onCreate(Bundle create){
super.onCreate(create);
setContentView(R.layout.main_layout);
createTabs();
ActionBar bar = getActionBar();
bar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
bar.setDisplayOptions(0, ActionBar.DISPLAY_SHOW_TITLE);
bar.setDisplayHomeAsUpEnabled(true);
if(create != null){
bar.setSelectedNavigationItem(create.getInt("Home",0));
}
}
我還添加選項卡的諸如此類但那並不重要
這是動作條的子類
private class TabListener implements ActionBar.TabListener{
TabContent mFragment;
public TabListener(TabContent fragment) {
mFragment = fragment;
}
@Override
public void onTabReselected(Tab tab, android.app.FragmentTransaction ft) {
}
@Override
public void onTabSelected(Tab tab, android.app.FragmentTransaction ft) {
ListFragment newListFragment = new BowlersListFragment();
Fragment newFragment = new BowlerEntryFrag();
ft = getFragmentManager().beginTransaction();
ft.replace(R.id.frameOne, newListFragment);
ft.replace(R.id.frameTwo, newFragment);
ft.addToBackStack(null);
ft.commit();
}
@Override
public void onTabUnselected(Tab tab, android.app.FragmentTransaction ft) {
if(ft != null){
ft.remove(mFragment);
}
}
}
}
我試圖做Activity.setContentView(r.layout.newView)
但不會工作