Android 强制自定义游标适配器不回收视图

Android 强制自定义游标适配器不回收视图,android,Android,我正在使用一个带有扩展游标适配器的listview。 listitems包含几个文本视图,这些视图可以包含任意长度的文本。 现在的问题是,当视图(在listview中)被回收时,由于视图中的前一个项目需要更大的空间,项目可能会比需要的高很多 我想解决办法是不允许循环使用,或者只是强制设置视图的大小。我一直在尝试许多不同的解决方案,但我没有找到一个方法。有人能帮我吗?;) 问题在于,在我的bindView实现中,一些文本视图被设置为“不可见”而不是“消失”,因此它们占用了空间,即使你看不到它们。问

我正在使用一个带有扩展游标适配器的listview。 listitems包含几个文本视图,这些视图可以包含任意长度的文本。 现在的问题是,当视图(在listview中)被回收时,由于视图中的前一个项目需要更大的空间,项目可能会比需要的高很多

我想解决办法是不允许循环使用,或者只是强制设置视图的大小。我一直在尝试许多不同的解决方案,但我没有找到一个方法。有人能帮我吗?;)


问题在于,在我的bindView实现中,一些文本视图被设置为“不可见”而不是“消失”,因此它们占用了空间,即使你看不到它们。

问题在于,在我的bindView实现中,一些文本视图被设置为“不可见”而不是“消失”因此,即使你看不到它们,它们也会占用空间。

如果你知道列表总是很小,即10个条目,那么我就是这么做的(覆盖这两种方法)。因此,当视图被回收时,每个位置返回相同的类型。如果您知道您的列表可能很大,但可能只有3-4种类型的列表项,则不返回位置,而是指定类型0、1、2等

    @Override
    public int getItemViewType(int position) {
        return position;
    }

    @Override
    public int getViewTypeCount() {
        return MAX_ITEMS;
    }

如果您知道列表总是非常小的,即10个条目,那么下面是我要做的(覆盖这两种方法)。因此,当视图被回收时,每个位置返回相同的类型。如果您知道您的列表可能很大,但可能只有3-4种类型的列表项,则不返回位置,而是指定类型0、1、2等

    @Override
    public int getItemViewType(int position) {
        return position;
    }

    @Override
    public int getViewTypeCount() {
        return MAX_ITEMS;
    }

您可以完全控制ListView项中的文本视图将显示什么。。。没有必要总是需要新实例化的文本视图。请在此发布layout/convaview\u list\u item.xml的内容,最好是您的bindView()实现。您可以完全控制ListView项中的TextView将显示什么。。。没有必要总是需要新实例化的文本视图。请在此处发布layout/conaview\u list\u item.xml的内容,最好是您的bindView()实现。