使用ScrollView避免显示复杂视图的延迟

时间:2015-07-04 13:34:50

标签: android android-layout android-view

为了开发我的应用,我意识到我需要一个复杂的视图(让我们称之为foo),它包含三个ImageButton s,一个progress bar,以及三个TextView,所有这些都是通过与相同的视图元素进行交互来动态更改的。为了完成这项工作,我从foo扩展了RelativeLayout,动态创建子视图,然后将其添加到foothis.addView(...))。

我下次打算做的是将它们动态添加到ScrollView。我做了这个并放了三个foo进行测试。结果是极度滞后。我按了ImageView(按下时应更改图像),这样做需要2秒钟。

我的最终目标是一次支持这些foo中的50个并让它们顺利运行,如果用户选择的话,用户可以选择加载更多(不覆盖之前的) 。所有互动都将使用互联网(如果相关,我不知道),但测试是在所有网络任务被注释掉的情况下完成的。

我的问题是:

  1. 我使用的策略(ScrollView&添加foo)是否可行,而且滞后来自其他一些问题(具体代码,在这种情况下我是&#39 ; ll提供一些代码)?或者这样做真的是个坏主意吗?
  2. 在这里达到目标的最佳方式是什么(假设1是坏的)?
  3. 我已经知道的事情:

    我对我的问题进行了一些研究,大多数在线资源都建议使用ListView。我没有读过很多内容,但是从我得到的内容中读到了:

    • 我必须使用xml而不是动态
    • 重做设计
    • 不同的组件及其值将存储在每个阵列上,在我的情况下不可接受(更改子视图的值应该非常简单地,不应该出现在主要活动中)
    • 我无法(或者很难)为不同的子视图设置OnClickListener(因为只有主foo视图才能获得一个)

    我也尝试了这个方法(ScrollView并添加到Views)与另一个View并且其中20个无缝地同时运行,但是那个已经从{View扩展了{1}}仅使用canvas绘制没有子视图的文本。

    提前致谢。

0 个答案:

没有答案