gpt4 book ai didi

java - Android Spinner View : difference between setSelection (int position) and setSelection (int position, boolean 动画)?

转载 作者:行者123 更新时间:2023-12-01 15:50:59 27 4
gpt4 key购买 nike

我读了文档,但不太明白...参数“animate”有什么用?

我唯一注意到的事情:

public void onItemSelected(AdapterView<?> parent, View view, int position, long id)
{
if (savedPosition != -1)
{
((Spinner) parent).setSelection(savedPosition );
savedPosition = -1;
return;
}
//...
}

...与 setSelection 配合使用效果良好,但使用 setSelection(savedPosition, true);

时会陷入无限循环/StackOverflowError

我真的很好奇为什么会这样?

最佳答案

嗯,它应该按照名字所暗示的那样做。从当前位置到所需位置的动画。当您仅使用 setSelection 时,当您试图确保用户看到更改(某种更改通知)时,更改更合适,而且看起来更流畅。至少这就是我使用它的原因。至于动画我从来没有遇到过任何问题。

为什么使用savedPosition而不是位置来进行选择?也许这就是导致循环的原因。我的建议是尝试用位置来做,看看是否失败。你的代码有点奇怪..

是的,评论建议您出于某种原因再次调用该方法,因为我相信动画 setSelection 在实际设置选择时会执行此操作。

关于java - Android Spinner View : difference between setSelection (int position) and setSelection (int position, boolean 动画)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6045082/

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