Nav*_* GV 7 android android-layout
下面这段代码将相同的视图膨胀20次.膨胀是昂贵的.我想只给它充气一次,对20个项目使用相同的视图,我只想更改UI中的可见数据.
LinearLayout ll = new LinearLayout(context); 
for (int i = 0; i < 20; ++i) {
    View itemView = inflater.inflate(getLayoutId(), parent, false);
    itemView.setText(data.getName(i);
    ll.add(itemView);
}
我想要这样的东西.
LinearLayout ll = new LinearLayout(context); 
View itemView = inflater.inflate(getLayoutId(), parent, false);
for (int i = 0; i < 20; ++i) {
    itemView.setText(data.getName(i);
    ll.add(itemView);
}
但我无法以这种方式使用itemView obj.
任何人都可以告诉我如何在充气后多次使用该视图.
你不能这样做。如果您认为它的成本很高,那么请寻找另一种方法来创建布局。
但以 gridView 为例。他们创建了大量的视图并展示它们,效果很好。
您不能将同一视图对象两次添加到布局中。每个对象都有自己的状态,在您的情况下,在某种程度上意味着您将在所有 20 个视图之间共享状态,这是没有意义的,这意味着更改一个 textView 上的文本将更改所有其他视图上的文本。 。
只需膨胀 20 个单独的视图并适当填充它们即可。
如果您实际上拥有完全相同的视图,还可以考虑使用 ListView 或 GridView,它可以提供一些不错的功能,例如视图回收。
| 归档时间: | 
 | 
| 查看次数: | 3240 次 | 
| 最近记录: |