It is better to use a list view for lists of data. Then you won't have to
construct all the views at the start. This will reduce memory load as well
as allow for their re-use.
On Jul 31, 2012 5:45 PM, "craig" <[email protected]> wrote:

> Actually I'm not using a ListView.
>
> In this case it's just a simple linear layout with a vertical orientation
> that contains more linear layouts with a horizontal orientation which
> contains additional elements such as text views, image buttons, additional
> linear layouts, etc.  So basically it's just a bunch of composite linear
> layouts forming what looks like a list view.
>
> Here is code for populating:
>
> public void PopulateExercises()
>         {
>             LayoutInflater inflater = LayoutInflater;
>
>             LinearLayout linEntryContainer =
> FindViewById<LinearLayout>(Resource.Id.linEntryContainer);
>             TextView lblMonth =
> FindViewById<TextView>(Resource.Id.lblMonth);
>             TextView lblMonthTotal =
> FindViewById<TextView>(Resource.Id.lblMonthTotal);
>             lblMonth.Text = MonthlyExercises.Month.ToString("MMMM");
>             lblMonthTotal.Text =
> MonthlyExercises.GetTotalQualifyingMinutes().ToString();
>
>             View[] list = new View[linEntryContainer.ChildCount];
>             for (int i = 0; i < list.Length; i++)
>             {
>                 list[i] = linEntryContainer.GetChildAt(i);
>             }
>
>             linEntryContainer.RemoveAllViews();
>
>             for (int i = 0; i < list.Length; i++)
>             {
>                 ((IDisposable)list[i]).Dispose();
>             }
>
>             foreach (Exercise exercise in MonthlyExercises.ExerciseList)
>             {
>                 LinearLayout linEntryItem =
> (LinearLayout)inflater.Inflate(Resource.Layout.view_entries_row,
> linEntryContainer, false);
>                 TextView lblDate =
> linEntryItem.FindViewById<TextView>(Resource.Id.lblDate);
>                 TextView lblType =
> linEntryItem.FindViewById<TextView>(Resource.Id.lblType);
>                 TextView lblActualMinutes =
> linEntryItem.FindViewById<TextView>(Resource.Id.lblActualMinutes);
>                 TextView lblQualifyingMinutes =
> linEntryItem.FindViewById<TextView>(Resource.Id.lblQualifyingMinutes);
>                 Button btnEdit =
> linEntryItem.FindViewById<Button>(Resource.Id.btnEdit);
>                 lblDate.Text = exercise.Date.ToString("MM/dd/yyyy");
>                 lblType.Text = exercise.Type;
>                 lblActualMinutes.Text = exercise.ActualMinutes.ToString() +
> " actual minutes";
>                 lblQualifyingMinutes.Text =
> exercise.QualifyingMinutes.ToString() + " qualifying minutes";
>                 btnEdit.Click += new EventHandler(btnEdit_Click);
>
>                 linEntryContainer.AddView(linEntryItem);
>             }
>         }
>
>
>
>
>
>
>
> --
> View this message in context:
> http://mono-for-android.1047100.n5.nabble.com/How-to-handle-garbage-collection-memory-leak-tp5711079p5711084.html
> Sent from the Mono for Android mailing list archive at Nabble.com.
> _______________________________________________
> Monodroid mailing list
> [email protected]
>
> UNSUBSCRIBE INFORMATION:
> http://lists.ximian.com/mailman/listinfo/monodroid
>
_______________________________________________
Monodroid mailing list
[email protected]

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

Reply via email to