我看到很多关于在适配器中使用 convertView 的有用性的帖子,比如这个、这个或这个(以及许多其他......)
我有一个 ArrayAdapter,但我从头开始创建视图,使用一个简单的水平线性布局,我在其中添加了一些文本视图。文本视图的数量及其权重取决于列表中的位置。第一行可能有 3 个电视,第二行可能有 7 个电视,第三行可能有 25 个电视,每个电视具有不同的权重,具体取决于数据库。
在这种情况下,因为我不能膨胀任何东西,convertView 包含什么?
我应该使用它吗?如果是,我该怎么办?
编辑:这是我的代码:
@Override
public View getView(final int position, View convertView, ViewGroup parent){
LinearLayout layout = new LinearLayout(context);
for (int i = 0; i < totalTVNumber; i++) {
LifeEvent event = getEventFromDB(cost, position);
if (event != null) {
TextView eventTV = event.getTextView(getContext());
eventTV.setLayoutParams(new LinearLayout.LayoutParams(0, 100, weight));//0 en width sinon weight n'est pas pris en compte !!
layout.addView(eventTV);
}
}
}