我正在處理一個基於ListView的應用程序,我有一個非常奇怪的問題,我的ListItems重新包裝,正確的項目沒有顯示在正確的位置。爲了便於理解,我將每個ListItem上的文本設置爲與其位置相同。我在我的適配器getView()調用中執行此操作。如果我有Nexus 7 4 ListItems可見。如果我總共有10個ListItems,那麼它將變爲0,1,3,4,0,1,2,3,4。這適用於所有設備,假設最初在屏幕+1上的項目數量是正確的而所有其他ListItems被重新安裝。Android ListView項目收納
在我的代碼的哪一部分,你們認爲我的問題在於,因爲現在我一直在努力解決這個問題幾個小時,而且我很無能。非常感謝所有幫助。
編輯:
這裏是我的getView():
@Override
public View getView(int position, View convertView, ViewGroup parent) {
CountdownItem ci = mTitle.get(position);
if (convertView == null) {
convertView = mInflater.inflate(R.layout.list_item, parent, false);
holder = new CountdownViewHolder();
holder.mTitle = (TextView) convertView.findViewById(R.id.textPrim);
holder.mSubtitle = (TextView) convertView
.findViewById(R.id.textSec);
holder.mDayProgress = (ProgressBar) convertView
.findViewById(R.id.day_progress);
holder.mMonthProgress = (ProgressBar) convertView
.findViewById(R.id.month_progress);
holder.mYearText = (TextView) convertView
.findViewById(R.id.year_text);
holder.day_help = (TextView) convertView
.findViewById(R.id.day_help);
holder.month_help = (TextView) convertView
.findViewById(R.id.month_help);
holder.setTitle(Integer.toString(position) + " Title");
holder.setSubtitle(ci.getSubtitle());
holder.fixImageAndText(position);
convertView.setTag(holder);
} else {
holder = (CountdownViewHolder) convertView.getTag();
}
return convertView;
}
發佈你的'getView()'方法的代碼。 ListAdapter可以回收視圖,也許你沒有正確考慮這一點。 –
@DavidWasser我的getView()已被添加。 – SweSnow