【问题标题】:How do I retrieve the preferences from my settings activity in Kotlin?如何从 Kotlin 中的设置活动中检索首选项?
【发布时间】:2020-06-26 10:20:18
【问题描述】:

我目前正在为我的学士论文使用 Kotlin,但我不知道自己在做什么。

所以这是我的问题:

我创建了一个(功能)设置活动,其中包含多个 EditTextPreferences 和一个 ListPreference。 现在我想从另一个活动的 ListPreference 中检索选定的项目。 这是我的 ListPreference:

    <ListPreference
        android:dialogTitle="Art des Implantates"
        android:entries="@array/settings_list_preference_titles"
        android:entryValues="@array/settings_list_preference_values"
        android:key="list"
        android:title="Implantat"
        app:useSimpleSummaryProvider="true"/>

那么我如何检索选定的项目?假设我只想在其他地方显示它。我一无所知,因为我遇到的每一个教程都是针对 Java 的,而我不会说 Java。

请帮助我。我很绝望。

【问题讨论】:

    标签: android kotlin settings preferences


    【解决方案1】:

    如果您使用的是 java:

    SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
    

    您可以像这样使用 XML app:key="this_value" 访问值:

    prefs.getString("this_value","some_val");
    

    【讨论】:

      【解决方案2】:

      第 1 步:为默认首选项获取 SharedPreferences 对象:

      val prefs = PreferenceManager.getDefaultSharedPreferences(context)
      

      (其中contextContext,例如ActivityApplication 单例)

      步骤#2:在SharedPreferences 上调用getString("list", someDefaultValue),其中"list" 是您的密钥(来自您的&lt;ListPreference&gt;),someDefaultValue 是您希望在用户尚未返回时返回的String设置此偏好

      因为我遇到的每个教程都是针对 java 的

      This sample app(来自this book)在 Kotlin 中并显示了 SharedPreferences 的使用。 documentation 还显示了 SharedPreferences 在 Kotlin(和 Java)中的使用。

      【讨论】:

      • 谢谢!现在它起作用了。这就是我需要的所有信息,我仍然花了一整天的时间才弄清楚:D
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-01-06
      • 1970-01-01
      • 2015-12-21
      • 2019-03-02
      • 1970-01-01
      相关资源
      最近更新 更多