我有一个列表视图,我用布局和我做的每个其他位置给第一个位置充气 另一种布局的通胀。 我可以通过每次在getView中检查来做到这一点,但你可以想象这不是很有效。
你能否通过这种模式与我分享你的想法? (这不能得到正确的结果(因为在第一次充气后的位置数量取决于4-5个位置,我得到其他位置的layout.inside_list_2。)
if (convertView == null) {
if (position == 0)
convertView = mInflater.inflate(R.layout.inside_list_2,
parent, false);
else
convertView = mInflater.inflate(R.layout.inside_list, null);
}
else{
holder=(ViewHolder)convertView.getTag();
}
答案 0 :(得分:3)
您的问题与滚动时重复使用ListView中的视图这一事实有关。这是出于性能原因而完成的。
因此,在getView中,您不能依赖于convertView处于任何给定的初始状态。您需要每次检查视图以确保它是正确的。
但是,在您的情况下,您可能希望使用a header view。
答案 1 :(得分:1)
以下是类似问题的答案 - 它包含指向ViewHolder模式的指针,可提高列表性能 - Android: ViewHolder pattern and different types of rows?