Radiobutton drawable 在 ViewPager 中最终处于不正确的状态
Radiobutton drawable ends up in incorrect state when in ViewPager
当我的 RadioButton 位于我的 ViewPager 的第二页(屏幕外)时,以编程方式检查时它最终看起来像这样(在 onViewCreated、onStart、and/or onResume 中)
理想情况下,单选按钮应如下所示
如何强制可绘制对象处于正确状态?我试过使单选按钮无效,但没有成功。单击另一个单选按钮并重新单击正确的单选按钮似乎可以解决问题
经过更多测试,问题似乎只出现在 API 25 上,并且是由单击 RadioButton 时出现的动画引起的。我已通过添加修复它:
AnimatedStateListDrawable animatedStateListDrawable = (AnimatedStateListDrawable) radioButton.getButtonDrawable();
animatedStateListDrawable.jumpToCurrentState();
在这里,您可以简单地使用 imageview 代替单选按钮并替换 imageview 的图像 onclick 并相应地设置两个图像之一(一个被选中,另一个被取消选择)。这就是您可以保持状态的方式,它看起来就像单选按钮。
当我的 RadioButton 位于我的 ViewPager 的第二页(屏幕外)时,以编程方式检查时它最终看起来像这样(在 onViewCreated、onStart、and/or onResume 中)
理想情况下,单选按钮应如下所示
如何强制可绘制对象处于正确状态?我试过使单选按钮无效,但没有成功。单击另一个单选按钮并重新单击正确的单选按钮似乎可以解决问题
经过更多测试,问题似乎只出现在 API 25 上,并且是由单击 RadioButton 时出现的动画引起的。我已通过添加修复它:
AnimatedStateListDrawable animatedStateListDrawable = (AnimatedStateListDrawable) radioButton.getButtonDrawable();
animatedStateListDrawable.jumpToCurrentState();
在这里,您可以简单地使用 imageview 代替单选按钮并替换 imageview 的图像 onclick 并相应地设置两个图像之一(一个被选中,另一个被取消选择)。这就是您可以保持状态的方式,它看起来就像单选按钮。