0

我正在构建一个聊天应用程序。

在我的聊天消息视图中,我有一个 Activity,它呈现最后 20 条消息并以编程方式将它们添加到 ScrollView。

它实际上工作得很好而且很快。

完成它后,我停下来思考并意识到我可以使用 ListView 更轻松(并且可能更有效)完成它。

这是真的吗?我应该努力将视图更改为 ListView 吗?

4

4 回答 4

2

我会说是的一个主要原因:ListView回收屏幕上显示的视图,使其非常有效。由于它会在较小的屏幕上容纳 6 或 7 个视图,并重复使用这些视图,因此它比说 20 个视图占用内存要高效得多。至于更容易,这可能是有争议的。但绝对推荐 ListView。ScrollView 可能感觉很快,但您还必须考虑设备和其他应用程序的性能。

于 2012-08-17T07:29:38.433 回答
0

我的应用程序中有一个聊天功能,我使用适配器将消息填充到列表视图中。下面是我的 xml 布局的示例:

消息.xml

<LinearLayout
    <TextView </TextView>
    <ListView </ListView>
</LinearLayout>

message_item.xml

<RelativeLayout>
      <LinearLayout>
      <LinearLayout> 
      <LinearLayout>

      <LinearLayout>
      <TextView></TextView>
  <TextView></TextView>
      </LinearLayout>

      <TextView></TextView>
      </LinearLayout>

      <ImageView></ImageView>
      </LinearLayout>
      </LinearLayout>
      <TextView></TextView>
      </RelativeLayout>

我希望这会有所帮助:)

于 2012-08-17T07:41:37.453 回答
0

可以扫描android源码,了解ListView是如何实现的。

我想你会在那之后找到你的答案。

ics/framework/base/core/java/android/widget/ListView.java

于 2012-08-17T07:43:10.397 回答
0

我认为,是的,由于它的属性,使用 listView 会更有效。并且您对滚动视图所做的操作与 ListView 具有相同的功能。我认为你正在改造轮子。是一个很好的例子:)

于 2012-08-17T07:28:59.873 回答