我在项目的滚动视图中遇到了一些问题。我必须在我的申请中填写一个巨大的表格。我把它们放在滚动视图中。我在那个滚动视图中有超过 70 行。问题是活动变慢了,当我试图插入编辑文本时,它的执行速度非常慢。加载活动时,显示屏幕需要太多时间。我知道单个活动中有很多视图,因此它变得越来越慢。但在我的应用程序中,我需要在滚动中的单个活动中实现此表单。任何人都可以建议我任何更好的想法来实现这一点。
圣努
我在项目的滚动视图中遇到了一些问题。我必须在我的申请中填写一个巨大的表格。我把它们放在滚动视图中。我在那个滚动视图中有超过 70 行。问题是活动变慢了,当我试图插入编辑文本时,它的执行速度非常慢。加载活动时,显示屏幕需要太多时间。我知道单个活动中有很多视图,因此它变得越来越慢。但在我的应用程序中,我需要在滚动中的单个活动中实现此表单。任何人都可以建议我任何更好的想法来实现这一点。
圣努
如果你有很多行,你能不能把它们放在一个负责自己滚动的 ListView 中。我在列表视图中有几百行,它滚动得非常快。此外,使用“Holder”模式重复使用单个视图。这是对持有人模式的一个很好的参考
You Should Use Custome ListView for This.Read This Tutorial
您如何看待创建列表视图活动并通过列表项实现您的控件。在这种情况下,您应该覆盖列表视图适配器的 getView (每个控件的特定视图实现(位置 0 - 第一个控件,位置 1 秒......等,使用 switch 语句或类似的东西)
这种方法的好处是“轻松”创建控件:列表视图将只创建它可以在屏幕上显示的项目,其他视图将“按需”创建
使用布局 ID 创建以下数组:
int[] layouts = new int[]{R.layout.button_layout, R.layout.spinner_layout, R.layout.two_checkboxes, ... etc}
并分别为每个项目创建布局文件。然后在 getView 方法中的特定位置膨胀它们。