我使用的是默认的 android NumberPicker,在使用 setValue() 方法时遇到问题。
请注意,问题是在我运行 API 级别 16 (Galaxy SII) 时出现的,我已经尝试过 API 级别 14 模拟器并且没有任何问题,所以我有点困惑。
我的 fragment 包含数字选择器,并将数字保存到数据库表中。当再次访问 fragment 时,我将值返回给数字选择器。
最初这是有效的,但如果我替换 Activity 中的 fragment ,然后再次调用该 fragment ,数字选择器将显示“0”,但如果我增加或减少它,它将从它应该显示的数字更新.因此,如果保存到数据库的数字是 4,则 0 将跳转到 5。
有没有人遇到过这个问题,他们可以指导我如何解决这个问题吗?
谢谢。
最佳答案
如果没有看到您的代码,我无法确定,但我的猜测是您的 Fragment 没有覆盖 onAttach() Fragment 类方法。
通过覆盖该方法并像这样在该函数中执行我的 setValue(),我能够解决这个问题:
@Override
public void onAttach(Activity activity) {
super.onAttach(activity);
if (number_picker != null)
number_picker.setValue(desired_level);
}
关于 fragment 中的 Android 数字选择器未显示正确的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24740027/