Beating the Fragmentation Monster: Listing 5


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Android.App;
using Android.Content;
using Android.OS;
using Android.Runtime;
using Android.Util;
using Android.Views;
using Android.Widget;
using Android.Support.V4.App;
namespace com.wallym.sample.fragmentexample
    internal class DetailsFragment : Android.Support.V4.App.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,
            text.SetPadding(padding, padding, padding, padding);
            iv.SetPadding(padding, padding, padding, padding);
            text.TextSize = 24;
            text.Text = StarTrek.Quotes[ShownPlayId];
            ll.Orientation = Orientation.Vertical;
            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.