我有ViewHolder的自定义列表视图和数组适配器。单击列表视图项时,它会在下面展开新布局。问题是:不幸的是它在列表视图中的每个第9个项目都打开了。例如:如果点击了项目0; 0,9,18个元素打开它们的展开布局。没有看代码的任何想法?
答案 0 :(得分:0)
我不知道,但这听起来像我有一个问题。我有一个包含TextView
个对象的列表视图,并且选择了多个并输入了相同的值。
我有一个非常非常脏的修复方法,在我的自定义适配器中,我总是制作一个新视图,无论如何:
@Override
public View getView (final int position, View convertView, final ViewGroup parent) {
//if (convertView == null) {
// Inflate the view from the converter
final LayoutInflater layoutInflater = LayoutInflater.from(parent.getContext());
convertView = layoutInflater.inflate(converter.getLayout(), parent, false);
//}
// Populate the view from the converter
converter.populateInflatedView(convertView, getItem(position));
return convertView;
}
Source can be found here if you want to know what the converter is about.
在旁注中,我为TreeView创建了一种接口类型的东西,但这是Activity
形式,它使用ScrollView
。所以这不是一个真正的ListView类型的交易,但可能会帮助你。 Tree部分可以在Tree-link上找到,主题包中有一个实现。