gpt4 book ai didi

android - 如何在 Android 中使用 SimpleAdapter 滚动 ListView 项目时停止执行 getView() 方法

转载 作者:行者123 更新时间:2023-11-29 02:09:43 25 4
gpt4 key购买 nike

我已经使用 SimpleAdapter 在 ListView 中显示项目列表。每次显示时都会调用 getView() 以显示具有不同布局的每个列表项目。在这里我成功地这样做了。但问题是每当我再次滚动列表项,getView() 方法正在执行,我得到了不可靠的结果。我的要求是我不想在滚动 ListView 时执行 getView() 方法。任何人请指导我摆脱这种情况。

最佳答案

这是 ListView 的预期行为,它会自动缓冲。因此,当您滚动时,新项目会膨胀并添加,旧项目会被淘汰。此机制通过调用重写的 getView() 方法来工作。

如果您不想要这个,那么只需在 ScrollView 中使用 LinearLayout 并用您的列表项手动填充它。您甚至可以通过以下方式使用您的适配器:

linear.addView(adapter.getView(index, null, linear));

希望这对您有所帮助!

我想补充一件事,如果您的适配器中有多个记录,只需使用这样的 for 循环即可。

ArrayAdapter<Question> adapter = MyCustomArrayAdapter
.GetArrayAdapterInstance(this, flag1, flag1, lst_question);

for(int i=0;i<adapter.getCount();i++)
{
linear.addView(adapter.getView(i, null, linear));
}

关于android - 如何在 Android 中使用 SimpleAdapter 滚动 ListView 项目时停止执行 getView() 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8168959/

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