【问题标题】:Save and Retrieve Selected Spinner Position保存和检索选定的微调器位置
【发布时间】:2012-11-17 14:46:13
【问题描述】:

您将如何保存和检索微调器选择,以便在您返回时选择微调器上的相同项目?也许有共同的偏好?

【问题讨论】:

    标签: android android-widget spinner sharedpreferences


    【解决方案1】:

    sharedPreferences 上保存数据(将此代码放在onItemSelected() 方法上并保存spinner 的选定值的位置):

    int userChoice = spinner.getSelectedItemPosition();
    SharedPreferences sharedPref = getSharedPreferences("FileName",0);
    SharedPreferences.Editor prefEditor = sharedPref.edit();
    prefEditor.putInt("userChoiceSpinner",usersChoice);
    prefEditor.commit();
    

    sharedPreferences获取数据:

    SharedPreferences sharedPref = getSharedPreferences("FileName",MODE_PRIVATE);
    int spinnerValue = sharedPref.getInt("userChoiceSpinner",-1);
    if(spinnerValue != -1) {
      // set the selected value of the spinner 
      spinner.setSelection(spinnerValue);
    }
    

    请参考:set selection in spinner 还有这个:get the position of the selected item in a spinner

    另见:

    【讨论】:

    • 谢谢,下面的代码是不是也应该在我的 onItemSelected() 方法中还是在我的 Loadprefs() 方法中?
    • 在通过 id 找到微调器视图后,底部代码应该在 onCreate() 方法上
    • 我建议你也考虑 Intents。据我所知共享首选项。不是这里的最佳选择。因为您不需要将数据存储在存储中,而您需要的只是活动之间的简单数据。就此而言,Intents 可以提供帮助。它们非常易于使用。快速搜索将帮助您。
    • @Tina :很好,但是如果他想在重启应用后保存微调器的选择,在这种情况下,使用 sharedPreferences 是最好的处理方式。
    • @Tina :我添加了一个指向 Intents 的链接并在活动之间切换,以防他想使用 Intents (y)
    猜你喜欢
    • 2011-07-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-10
    • 1970-01-01
    • 2016-02-26
    • 2013-06-14
    • 2019-05-24
    • 1970-01-01
    相关资源
    最近更新 更多