从android中的代码添加布局视图的最佳方法是什么?

VIN*_*RUS 0 android xamarin.android android-inflate android-view xamarin

我已经loop在我的代码中添加ViewsLayout,下面的代码是一个Loop which is present in another loop,我有这么多的循环,Activity takes so much time to start如何处理这个?

foreach (InfoQuery item in InfoList)
        {


            if (item == "kitten")
            {
                if (!done)
                {
                    TextView view= new TextView(ApplicationContext);
                    view.LayoutParameters = mainLayout.LayoutParameters;
                    view.TextSize = TypedValue.ApplyDimension(ComplexUnitType.Sp, 3, ApplicationContext.Resources.DisplayMetrics);
                    view.SetPadding((int)TypedValue.ApplyDimension(ComplexUnitType.Dip, 10, ApplicationContext.Resources.DisplayMetrics), 0, (int)TypedValue.ApplyDimension(ComplexUnitType.Dip, 10, ApplicationContext.Resources.DisplayMetrics), 0);
                    view.Text = item.position;
                    layout2.AddView(view,0);
                    done = true;
                }

                TextView view2= new TextView(ApplicationContext);
                view2.LayoutParameters = mainLayout.LayoutParameters;
                view2.TextSize = TypedValue.ApplyDimension(ComplexUnitType.Sp, 3, ApplicationContext.Resources.DisplayMetrics); ;
                view2.SetPadding((int)TypedValue.ApplyDimension(ComplexUnitType.Dip, 30, ApplicationContext.Resources.DisplayMetrics), 0, (int)TypedValue.ApplyDimension(ComplexUnitType.Dip, 10, ApplicationContext.Resources.DisplayMetrics), 0);
                view2.SetTextColor(Color.Black);
                view2.Text = item.position;
                layout2.AddView(view2);
            }
        }
Run Code Online (Sandbox Code Playgroud)

Gab*_*han 5

您不应该在Android中的布局中添加一组巨大的项目.请改用recyclerview或listview.除了速度缓慢之外,添加所有视图需要大量的RAM,并且即使不在屏幕上也需要大量时间来绘制.