哪个更适合在android中显示数据列表

时间:2013-11-20 00:39:05

标签: android listview

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

List<User> mPersonList=getAllUser();

然后我想在活动中展示它们,我有两个想法:

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);
}

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

1 个答案:

答案 0 :(得分:0)

ListView的效果要好于在LinearLayout中实现相同效果。

ListView只会在任何时候为屏幕上显示的视图数量增加。膨胀视图比更改视图的值要昂贵得多,所以这要好得多。

编辑:

但是,如果您将ListView放在ScrollView内,它是不对的。在这种情况下,您可能应该使用LinearLayout,或者可能重新设置您的布局,以便您不使用ScrollView父级(例如使用ListView标题视图等)< / p>