我試圖用兩個選項卡創建一個活動,一個持有FragmentA
,另一個持有FragmentB
。下面是我如何將片段添加到活動中:OnCreateView調用兩次
[Activity(Label = "My App")]
public class MyActivity : Activity
{
protected override void OnCreate(Bundle savedInstanceState)
{
base.OnCreate(savedInstanceState);
SetContentView(Resource.Layout.ConnectionMenu);
ActionBar.NavigationMode = ActionBarNavigationMode.Tabs;
AddTab("A", new FragmentA());
AddTab("B", new FragmentB());
}
private void AddTab(string tabText, Fragment fragment)
{
var tab = ActionBar.NewTab();
tab.SetText(tabText);
tab.TabSelected += (sender, e) =>
{
e.FragmentTransaction.Replace(
Resource.Id.fragmentContainer,
fragment);
};
ActionBar.AddTab(tab);
}
}
當我旋轉方向時,我希望將片段中填充的字段保持不變。我將我的數據保存在OnSaveInstanceState
中,並恢復OnActivityCreated
中的數據。不過,我注意到OnCreateView
和OnActivityCreated
方法每次被調用兩次。第一次包含我的填充Bundle
和第二次捆綁爲空。
我假設我的錯誤在MyActivity
類中,但如果您需要更多信息,請告訴我!
我在哪裏添加這些標籤?在axml的某處? – flakes
是的,您可以將'android:tag'添加到您的佈局'.xml/.axml'中。 –
請注意,如果您不想使用標籤,只需使用ID和'FindFragmentByID'方法即可。無論哪種方式應該工作正常。 –