fragment 中的 Android 数字选择器未显示正确的值

标签 android numbers picker setvalue

我使用的是默认的 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/

相关文章:

javascript - 使用 React-native-picker-select headless 组件

android 复选框被选中始终为 true

r - 提取列表中数字的范围

ios - 在 swift 中设置一个 Picker

java - 20个从0到10的随机数字数组。如何统计其中的具体数字?

将阿拉伯数字(long long int)转换为C中的单词

Django -- 多对多选择器小部件在哪里?

android - 一个软件包是否可以有多个启动 Intent ?

android - 在 Android 中,可以在录制时将视频直接保存在亚马逊服务器中

java - Android 录制内部设备声音