我正在构建一个聊天应用程序。android聊天应用程序 - ListView vs ScrollView
在我的聊天消息视图内我有一个活动,呈现最后20条消息,并以编程方式将它们添加到ScrollView。
它实际上工作很好,很快。
完成它后,我停下来想,并意识到我可以使用ListView更简单(也许更有效)。
这是真的吗?我应该付出努力并将视图更改为ListView?
我正在构建一个聊天应用程序。android聊天应用程序 - ListView vs ScrollView
在我的聊天消息视图内我有一个活动,呈现最后20条消息,并以编程方式将它们添加到ScrollView。
它实际上工作很好,很快。
完成它后,我停下来想,并意识到我可以使用ListView更简单(也许更有效)。
这是真的吗?我应该付出努力并将视图更改为ListView?
我想,是的,它更有效地使用listView,因为它的属性。你对你的滚动视图做了什么与ListView具有相同的功能。你正在重塑我的想法。 Here是一个很好的例子:)
我会说是的一个主要原因:ListView
回收屏幕上显示的视图,使其非常有效。因为它会在较小的屏幕上显示6或7个ish视图,并重用这些视图,比说20个视图占用内存更有效率。至于更容易,这可能是有争议的。但绝对推荐ListView。 ScrollView可能会感觉很快,但您也必须考虑设备和其他应用程序的性能。
我在我的应用程序中有一个聊天功能,我使用适配器将消息充气到一个列表视图。下面是我的XML布局的样本:
messages.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>
我希望帮助:)
可以扫描Android源代码并学习ListView如何实现。
我想你会在那之后找到你的答案。
ICS /框架/基/核心/ JAVA /安卓/空间/ ListView.java
接受最好的答案吧。 – Andy 2012-08-18 03:07:27