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