我的事件管理应用程序在列表视图中有两种类型的视图:一个用于不那么重要的事件的简单文本视图和一个用a创建的复杂视图FrameLayout.
在onCreateView()适配器中,我根据事件的性质返回这些视图.
if(convertView == null){
if(important)
// inflate the complex view
else
// inflate the simpler view
}
Run Code Online (Sandbox Code Playgroud)
convertView为null 时,这一切都很好.由于Android中的视图回收,可能会发生convertView返回给我的回收从更简单的视图,我现在必须显示更大的视图.一个愚蠢的解决方案是不断膨胀新的观点.但是,这会扼杀性能.
另一种方法是TextView在两个(visibility=gone)中使用预定义的值来隐藏s,并根据它们中的值,我可以膨胀视图.对我来说,这似乎是一个黑客而不是一个真正的解决方案.
处理这种情况的正确方法是什么?