gpt4 book ai didi

Android - 滚动 ListView 导致越界异常

转载 作者:搜寻专家 更新时间:2023-11-01 08:13:52 26 4
gpt4 key购买 nike

我正在开发一个主要由 ListView 组成的应用程序。它由我自己的自定义数组适配器支持,其大小每 5 秒更改一次。如果在数组适配器从较大尺寸变为较小尺寸时滚动 ListView ,则会出现越界异常。为什么会发生这种情况对我来说很有意义(因为我在超出新数组大小的位置滚动),但我想知道是否有调试它的好方法。我似乎无法得出明确的结论,我想知道是否可以得到一些帮助。

我使用以下 asyncTask 更新适配器...

public class myTask extends AsyncTask<Void, Void, Void>{

@Override
protected Void doInBackground(Void... params) {
while(isRunning){
myData.clear();
getData();
publishProgress();
SystemClock.sleep(5000);
}
return null;
}

protected void onProgressUpdate(Void...progress){
listAdapter.notifyDataSetChanged();

}
}

myData 是支持 listAdapter 的 ArrayList,getData() 是用 myData 填充的函数最终将显示在我的 ListView 中的相关信息。

有什么好的方法可以解决这个问题吗?

问候

最佳答案

您使用的是自定义适配器吗?

也许在您的 getViewTypeCount() 和 getItemViewType(int position) 中它越界了。 View 类型计数应来自 (0, n],但项目 View 类型应为 [0, n]。

例如 View 类型计数应为 2

但是 View 类型应该是0和1,而不是1和2。

关于Android - 滚动 ListView 导致越界异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6866378/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com