在android中重用膨胀的视图

前端之家收集整理的这篇文章主要介绍了在android中重用膨胀的视图前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
下面这段代码将相同的视图膨胀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(),false);
for (int i = 0; i < 20; ++i) {
    itemView.setText(data.getName(i);
    ll.add(itemView);
}

但我无法以这种方式使用itemView obj.

任何人都可以告诉我如何在充气后多次使用该视图.

解决方法

你不能这样做.如果您认为其成本高昂,那么找到另一种方法来创建您的布局.

但请考虑使用gridViews.他们创造了大量的观点并展示它们,并且效果很好.

您不能将视图的同一对象添加2次到布局.每个对象都有自己的状态,在你的情况下,你会在所有20个视图之间分享状态,这是没有意义的,这意味着更改一个textView上的文本将在所有其他部分改变它. .

只需夸大20个单独的视图并适当填充它们.

还可以考虑使用ListView或GridView,如果你真的有完全相同的视图,它可以提供一些很好的功能,如视图回收.

猜你在找的Android相关文章