Any chance you could file a bug with the project? I don't know what Frag1 or 
Frag2 are supposed to be, nor do I know what Resource.Layout.ab is supposed to 
be, etc.

Thanks,
 - Jon

On Nov 21, 2011, at 11:06 AM, Wally McClure wrote:

> I'm trying to write a simple example using a tabbed interface in the 
> actionbar.  When a user clicks on a tab, a new fragment will load in the main 
> screen of the device.  When I click the 2nd tab, I am getting an error.  in 
> DDMS, I get an error shown below.  I'm not sure if the error is due to frag1, 
> frag2, or something else.  Any suggestion are appreciated.
> 
> error:
> 11-21 10:55:40.220: E/AndroidRuntime(3911): java.lang.IllegalStateException: 
> The specified child already has a parent. You must call removeView() on the 
> child's parent first.
> 
> code:
>     [Activity(Label = "HCTabbedInterface", MainLauncher = true, Icon = 
> "@drawable/icon")]
>     public class Activity1 : Activity, ActionBar.ITabListener
>     {
>         int count = 1;
>         private ActionBar ab;
>         private View mActionBarView;
>         
>         protected override void OnCreate(Bundle bundle)
>         {
>             base.OnCreate(bundle);
> 
>             // Set our view from the "main" layout resource
>             SetContentView(Resource.Layout.Main);
> 
>             // Get our button from the layout resource,
>             // and attach an event to it
>             ab = this.ActionBar;
>             ab.AddTab(ab.NewTab().SetText(tab1).SetTabListener(this));
>             ab.AddTab(ab.NewTab().SetText(tab2).SetTabListener(this));
> 
>             mActionBarView = LayoutInflater.Inflate(
>                 Resource.Layout.ab, null);
>             ab.CustomView = mActionBarView;
>             ab.DisplayOptions = ActionBarDisplayOptions.ShowCustom | 
> ActionBarDisplayOptions.UseLogo;
>             ab.NavigationMode = ActionBarNavigationMode.Tabs;
>             ab.SetDisplayShowHomeEnabled(true);
>         }
> 
>         public void OnTabReselected(ActionBar.Tab tab, FragmentTransaction ft)
>         {
>         }
> 
>         private const string tab1 = "Tab 1";
>         private const string tab2 = "Tab 2";
>         private Frag1 f1;
>         private Frag2 f2;
>         public void OnTabSelected(ActionBar.Tab tab, FragmentTransaction ft)
>         {
>             try
>             {
>                 switch (tab.Text)
>                 {
>                     case tab1:
>                         if (f1 == null)
>                         {
>                             f1 = 
> FragmentManager.FindFragmentById<Frag1>(Resource.Id.fg);
>                         }
>                         else
>                         {
>                             ft.Replace(Resource.Id.fg, f1);
>                         }
>                         break;
>                     case tab2:
>                         if (f2 == null)
>                         {
>                             f2 = (Frag2)Fragment.Instantiate(this, (new 
> Frag2()).Class.Name);
>                         }
>                         ft.Replace(Resource.Id.fg, f2);
>                         break;
>                 }
>             }
>             catch (System.Exception sysExc)
>             {
>                 Android.Util.Log.Error("tab", String.Format("Error info: 
> {0}", sysExc.Message));
>             }
>         }
> 
>         public void OnTabUnselected(ActionBar.Tab tab, FragmentTransaction ft)
>         {
>         }
>     }
> 
> 
> _______________________________________________
> Monodroid mailing list
> Monodroid@lists.ximian.com
> 
> UNSUBSCRIBE INFORMATION:
> http://lists.ximian.com/mailman/listinfo/monodroid

_______________________________________________
Monodroid mailing list
Monodroid@lists.ximian.com

UNSUBSCRIBE INFORMATION:
http://lists.ximian.com/mailman/listinfo/monodroid

Reply via email to