我有一個包含 X 個項目的 ArrayList。在我的自定義 ListView 適配器中,我將 getItemCount() 設置為僅返回 100 個項目。當我運行我的應用程序時,會呈現列表視圖,但是,當我滾動傳遞索引 75 處的項目時,它會給我一個像這樣的錯誤java.lang.IndexOutOfBoundsException:索引:75,大?。?5我假設發生這種情況是因為 ArrayList 只有 75 個項目。我不能返回 list.size() 因為大小總是在變化,它可能大于或小于 100,但我只需要顯示 <= 100 個項目。有人可以建議我如何解決這個問題嗎?
1 回答

catspeake
TA貢獻1111條經驗 獲得超0個贊
試試這個getCount()
@Override
public int getCount(){
return items.length() < 100 ? items.length() : 100;
}
因為您已明確地將 設置getCount()為return100,所以現在如果其中沒有 100 個項目ArrayList,它將引發IndexOutOfBoundsException,因為系統將嘗試從List沒有該項目的項目中獲取 100 個項目。
因此,不要總是返回 100,而是僅在 100 中的項目超過 100 時才返回 100 List。
添加回答
舉報
0/150
提交
取消