【问题标题】:Which is better for display list of data in android哪个更适合在android中显示数据列表
【发布时间】:2013-11-20 00:39:04
【问题描述】:

假设我有一个这样的项目列表:

List<User> mPersonList=getAllUser();

那我想在activity中展示它们,我有两个想法:

1 使用ListView

我将创建一个从ArrayAdapter 扩展的自定义适配器,以将数据绑定到视图。这是大意。

但有时,ListView 的父级可能(必须)是ScrollView,所以有人suggest me 使用Linearlayout

2 使用 LinearLayout 之类的东西。

为每个项目创建一个LinearLayout,并将它们添加到父视图。

例如:

ViewGroup parent=(ViewGroup)findViewById(R.id.xx):
for(Person p : mPersonList){
  LinearLayout ll=new LinearLayout(...) //created by constructor
  // or ll=mlayerInflate.inflate(R.layout.xxx);
  TextView tv=new TextView(..)
  tv.setText(p.name);
  ll.addView(tv);
  parent.addView(ll);
}

我想知道在考虑性能时哪个更好?

【问题讨论】:

    标签: android listview


    【解决方案1】:

    ListView 的性能将比在 LinearLayout 中实现更好。

    ListView 只会在任何时候增加屏幕上可以容纳的尽可能多的视图。膨胀视图比更改视图的值要昂贵得多,所以这要好得多。

    编辑:

    但是,如果您将 ListView 放入 ScrollView 中,您是对的,它将无法正常工作。在这种情况下,您可能应该改用LinearLayout,或者重新设计您的布局,以便您不使用ScrollView 父级(例如使用ListView 标题视图等)

    【讨论】:

    • 但是如果我必须将ListView 放在ScrollView 中呢?
    • 绝对不要将 ListView 放在滚动视图中。它将折叠 ScrollView。我很早就和这个人打了一架。我通常将它们添加到 LinearLayout 或 RelativeLayout。
    猜你喜欢
    • 1970-01-01
    • 2012-06-29
    • 2010-10-04
    • 2014-08-19
    • 1970-01-01
    • 1970-01-01
    • 2013-09-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多