[mono-android] TabView not responding as it should
Tomasz Cielecki
tomasz at ostebaronen.dk
Mon Feb 27 12:24:34 UTC 2012
Also how does your main_original layout look. Does it have a TabHost
and a TabView?
On Mon, Feb 27, 2012 at 1:20 PM, Tomasz Cielecki <tomasz at ostebaronen.dk> wrote:
> It is because they Views were not destroyed. So OnCreate is not called
> again. Take a look at the Activity life cycle:
> http://developer.android.com/reference/android/app/Activity.html#ActivityLifecycle
>
> This will explain it to you.
>
> On Fri, Feb 24, 2012 at 1:59 AM, Paul Johnson
> <paul at all-the-johnsons.co.uk> wrote:
>> Hi,
>>
>> I have a tabview app in development which on the face of it looks to work,
>> but it isn't.
>>
>> The event for changing the tab works, but the new view isn't showing. If I
>> click on another tab, that fires. If I go back to the first tab, nothing
>> fires. The code below explains it...
>>
>> [Activity]
>> public class HomeTab : Activity
>> {
>> protected override void OnCreate(Bundle savedInstanceState)
>> {
>> base.OnCreate(savedInstanceState);
>> Console.WriteLine("in home");
>> SetContentView(Resource.Layout.main_original);
>> }
>> }
>> [Activity]
>> public class CalendarTab : Activity
>> {
>> protected override void OnCreate(Bundle savedInstanceState)
>> {
>> base.OnCreate(savedInstanceState);
>> Console.WriteLine("in calendar");
>> SetContentView(Resource.Layout.five_buttons);
>> }
>> }
>> //
>> [Activity(Label = "OQHRA", MainLauncher = true,
>> Theme="@android:style/Theme.NoTitleBar", Icon = "@drawable/icon")]
>> public class Activity1 : TabActivity
>> {
>> public int screenNo = -1; // quick hack
>> protected override void OnCreate(Bundle bundle)
>> {
>> base.OnCreate(bundle);
>> SetContentView(Resource.Layout.main_original);
>> ListView listView = FindViewById<ListView>(Resource.Id.listView);
>> string[] falco =
>> Resources.GetStringArray(Resource.Array.frontpage);
>> listView.Adapter = new ArrayAdapter<string>(this,
>> Resource.Layout.listview_layout, falco);
>> listView.ItemClick +=new
>> EventHandler<ItemEventArgs>(listView_ItemClick);
>> ImageView image = FindViewById<ImageView>(Resource.Id.imgBack);
>> image.Focusable = true;
>> image.Clickable = true;
>> image.Click += image_Click;
>> TabHost.TabSpec spec;
>> Intent intent;
>> intent = new Intent(this, typeof(HomeTab));
>> intent.AddFlags(ActivityFlags.NewTask);
>> spec = TabHost.NewTabSpec("tabHome");
>> spec.SetIndicator("Home",
>> Resources.GetDrawable(Resource.Drawable.ic_tabs_home));
>> spec.SetContent(intent);
>> TabHost.AddTab(spec);
>> intent = new Intent(this, typeof(CalendarTab));
>> intent.AddFlags(ActivityFlags.NewTask);
>> spec = TabHost.NewTabSpec("tabCalendar");
>> spec.SetIndicator("Calendar",
>> Resources.GetDrawable(Resource.Drawable.ic_tabs_cal));
>> spec.SetContent(intent);
>> TabHost.AddTab(spec);
>> intent = new Intent(this, typeof(RaceTab));
>> intent.AddFlags(ActivityFlags.NewTask);
>> spec = TabHost.NewTabSpec("tabRaceInfo");
>> spec.SetIndicator("Race Info",
>> Resources.GetDrawable(Resource.Drawable.ic_tabs_race));
>> spec.SetContent(intent);
>> TabHost.AddTab(spec);
>> intent = new Intent(this, typeof(NewsTab));
>> intent.AddFlags(ActivityFlags.NewTask);
>> spec = TabHost.NewTabSpec("tabNews");
>> spec.SetIndicator("News",
>> Resources.GetDrawable(Resource.Drawable.ic_tabs_news));
>> spec.SetContent(intent);
>> TabHost.AddTab(spec);
>> TabHost.CurrentTab = 0;
>> }
>>
>> When you click a tab, it puts in the console which tab has been pressed - if
>> I click on the first tab, home is printed, second gives calendar and so on.
>> Go to any tab and back to home, nothing is printed.
>>
>> Any ideas why the contentview isn't showing or why the event only fires
>> once?
>>
>> Thanks
>>
>> Paul
>>
>>
>> _______________________________________________
>> Monodroid mailing list
>> Monodroid at lists.ximian.com
>>
>> UNSUBSCRIBE INFORMATION:
>> http://lists.ximian.com/mailman/listinfo/monodroid
>
>
>
> --
> Med Venlig Hilsen / With Best Regards
> Tomasz Cielecki
> http://ostebaronen.dk
--
Med Venlig Hilsen / With Best Regards
Tomasz Cielecki
http://ostebaronen.dk
More information about the Monodroid
mailing list