0

在 iPhone 上你有这样的东西:

static NSString *Celldentifier = @"Section1_Cell";
 UITableViewCell *cell = (UITableViewCell *)[tableView dequeueReusableCellWithIdentifier: CellIdentifier];

其中 CellIdentifier 用于将特定“类型”单元格的单元格出列。因此,如果您在 tableview 中有多个部分,并且每个部分的单元格遵循不同的设计,您可以根据它们的 CellIdentifier 定义要出列的单元格的“类型”。这样可以避免为需要绘制不同单元格的部分重复使用错误类型的单元格。

我想知道如何在 Android 上做到这一点。我知道您可以通过覆盖适配器的 getView(...) 方法来重用行,如下所示

@Override
public View getView(int position, View convertView, ViewGroup parent){
 View row = convertView;
 CustomRowWrapper wrapper = null;
 if (row == null){
           // inflate your row layout and create a new row object from it
        }

但这仅在您的所有单元格完全相同的情况下才有效。如果您想区分行类型,这还不够,您可以在滚动列表时看到“错误”类型的行正在被重用,而不是您的不同行集,因为没有什么可以告诉适配器什么类型要重用的行。

那么有什么建议可以在Android上完成吗?

4

1 回答 1

1

您可以通过实现来拥有多种类型的行: getViewTypeCount() getItemViewType()

于 2010-10-11T12:00:10.833 回答