Android LinearLayout-滚动时动态添加内容

Android LinearLayout-滚动时动态添加内容,android,android-layout,Android,Android Layout,我的应用程序具有线性布局的屏幕,其中显示我的所有控件(复选框、单选按钮、下拉列表等)。当我们显示屏幕时,它加载所有控件(1000个控件)并显示它。加载和显示所有控件需要更多时间。因此,我们可以在屏幕上只显示10个控件,当我们向下滚动时,屏幕上会动态加载并显示另外10个控件 我使用线性布局,不想使用listview 编辑 我不能使用listview,因为我的所有控件都不在一行中。例如,复选框控件为第1行,日期显示为第2行,单选按钮或编辑文本为第3行等。所有这些控件都是动态来自服务器的。所以在这里我

我的应用程序具有线性布局的屏幕,其中显示我的所有控件(复选框、单选按钮、下拉列表等)。当我们显示屏幕时,它加载所有控件(1000个控件)并显示它。加载和显示所有控件需要更多时间。因此,我们可以在屏幕上只显示10个控件,当我们向下滚动时,屏幕上会动态加载并显示另外10个控件

我使用线性布局,不想使用listview

编辑


我不能使用listview,因为我的所有控件都不在一行中。例如,复选框控件为第1行,日期显示为第2行,单选按钮或编辑文本为第3行等。所有这些控件都是动态来自服务器的。所以在这里我不能像你建议的那样使用listview。

当然,但是你只需要实现延迟加载之类的功能,并最终得到一个经过调整的线性布局,它可以根据你的滚动位置滚动和加载数据。 为了更好地完成这项工作,您将创建一些单独的类,您可以调用该类的适配器,并为您处理加载


然后你意识到你创建了一个糟糕的ListView版本

我认为在容器中动态加载不同类型视图的最优雅的解决方案是使用某种扩展的容器。 这样,您就可以实现一个可以创建所需的所有视图的。 这是一种非常有效的方法,因为它重用了滚动超出范围的视图,而不是创建它需要的每个视图


在我的代码中,我使用了一个扩展了AdapterView的容器,它工作得很好。

您的编辑参数是错误的。行是一个逻辑单元,而不是预定义的对象。你在这一行中放什么,甚至不止一个控件,完全取决于你

您确实需要使用ListView并动态更改行中显示的内容。正如您所说:在第1行中,您放置了一个复选框,第2行显示日期,第3行有两个选项,如TextView和on/off切换。这取决于您如何对此进行构建,但请认真对待:使用ListView

除此之外:这种UX将是可怕的,是一个完美的“不要”列表的例子。以某种方式构造来自服务器的控件。每个设置屏幕都有一些类别,如“声音”、“视频”、“通知”。。。让你的控件也一样!我真的很怀疑你不能对你得到的控制进行分类


你应该努力防止UX灾难…

一个包含1000个控件的列表?听起来你应该考虑完全重构你的布局/ UI设计…你真的希望有人滚动990个控件来访问最后一个吗?创建子类别并创建导航UI…你好,我的朋友,这不是开发任何UI的方法。请为我们提供您的应用程序界面设计的应用程序视图和用途。