Android 4 and Fragments: Listing 3

DetailsFragment class.

    internal class DetailsFragment : Fragment
    {
        public static DetailsFragment NewInstance(int playId)
        {
            var detailsFrag = new DetailsFragment { Arguments = new Bundle() };
            detailsFrag.Arguments.PutInt("current_play_id", playId);
            return detailsFrag;
        }
        public int ShownPlayId
        {
            get { return Arguments.GetInt("current_play_id", 0); }
        }
        public override View OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
        {
            if (container == null)
            {
                // Currently in a layout without a container, so no reason to create our view.
                return null;
            }
            var ll = new LinearLayout(Activity);
            var scroller = new ScrollView(Activity);
            var text = new TextView(Activity);
            var iv = new ImageView(Activity);
            var padding = Convert.ToInt32(TypedValue.ApplyDimension(ComplexUnitType.Dip, 4,
Activity.Resources.DisplayMetrics));
            text.SetPadding(padding, padding, padding, padding);
            iv.SetPadding(padding, padding, padding, padding);
            text.TextSize = 24;
            text.Text = StarTrek.Quotes[ShownPlayId];
            iv.SetImageResource(StarTrek.Images[ShownPlayId]);
            ll.Orientation = Orientation.Vertical;
            ll.AddView(iv);
            ll.AddView(text);
            scroller.AddView(ll);
            return scroller;
        }
    }

About the Author

Wallace (Wally) B. McClure has authored books on iPhone programming with Mono/Monotouch, Android programming with Mono for Android, application architecture, ADO.NET, SQL Server and AJAX. He's a Microsoft MVP, an ASPInsider and a partner at Scalable Development Inc. He maintains a blog, and can be followed on Twitter.

comments powered by Disqus

Featured

  • Top Free Extensions for Visual Studio 2022

    With Visual Studio 2022 having debuted just one month ago, there are now dozens of new extensions available specifically targeting the revolutionary 64-bit IDE.

  • Green Motherboard Closeup Graphic

    How to Compute Transformer Architecture Model Accuracy

    Dr. James McCaffrey of Microsoft Research uses the Hugging Face library to simplify the implementation of NLP systems using Transformer Architecture (TA) models.

  • VS Code Snippets Leads Recent Open Source GA Announcements

    GitHub's "Release Radar" for November shows a Visual Studio Code snippets project leading a raft of open source offerings that reached general availability in November.

  • C# Language Server Revamps VS 2022 Razor Editor for ASP.NET Core

    Microsoft is touting new capabilities in ASP.NET Core web development in Visual Studio 2022 thanks to a new Razor editor powered by a Razor Language Server.

Upcoming Events