我正在构建几个自定义 ListViews,其中包含在单击时展开的 listViewItems。我做了我的第一个没有大麻烦,并且 listViewItems 在点击时正确展开。
现在我正在构建另一个 ListView,不同之处在于它包含不止一种项目,因此我发现让 adaper 包含视图列表而不是数据列表并在提示时创建视图很方便getView(XX) 为他们服务。
一切正常,除了新列表中的项目在我来回交换活动以重绘之前不会扩展。我已经测试模仿第一个列表视图中的实现(有几个缺点),这样可以让它们正确重绘。
主要区别是这两条线,第一条有效,第二条不重绘。
return new TransactionChild(context, attrs, transactions.get(position));
.
return (View) children.get(position);
解决此问题的最佳方法是什么?尝试在整个列表上强制重绘(在展开视图时将其余部分向下移动......)?还是我可以用 ListView 或适配器做一些更整洁的事情?
帮助会很棒:D