首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在没有动画的情况下更改开关状态

在没有动画的情况下更改开关状态
EN

Stack Overflow用户
提问于 2014-11-26 08:20:56
回答 7查看 13K关注 0票数 39

在我的Android项目中,我有一个包含SwitchCompat项的行的ListView ( Switch小部件的AppCompat)。

当我滚动到列表中,并使用recycled视图调用MyAdaptergetView(...)方法时,我的问题就出现了。我重新定义了正确的Switch状态,但动画是可见的。

在这种情况下有没有防止动画的解决方案?

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2015-10-09 00:57:13

调用jumpDrawablesToCurrentState()跳过动画

代码语言:javascript
复制
switchCompat.setChecked(true);
switchCompat.jumpDrawablesToCurrentState();
票数 72
EN

Stack Overflow用户

发布于 2014-11-26 09:09:58

我终于找到了一个解决方案,但看起来并不是很干净:

代码语言:javascript
复制
ViewGroup viewGroup = (ViewGroup) view; // the recycled view
viewGroup.removeView(switch);
switch.setChecked(states[index]);
viewGroup.addView(switch);

如果有更好的解决方案,请分享。

票数 10
EN

Stack Overflow用户

发布于 2016-11-05 17:19:20

如果使用Android数据绑定,可能会出现列表中动画播放的问题。

要解决此问题,请在设置数据后运行binding.executePendingBindings()方法-它将刷新当前帧中组件的绑定状态,而不会等待下一个绑定状态。

正如您可能已经猜到的那样,- next帧是动画

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27139262

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档