【问题标题】:listen for Preference button click in Main Activity在主活动中侦听首选项按钮单击
【发布时间】:2021-12-15 16:05:30
【问题描述】:

我正在使用带有preference.xml 的设置活动来创建设置菜单。我试图在我的主要活动中收听我的设置活动中的按钮点击。我似乎无法弄清楚如何做到这一点?

【问题讨论】:

  • “我正在尝试从我的主要活动中的设置活动中收听按钮点击。” - 不要这样做。没有理由一个 Activity 应该知道另一个 Activity 发生了什么。如果您需要在从设置返回后对 MainActivity 进行更新,请使用 onActivityResult 或在 onStart() 中重新加载设置

标签: android kotlin preferences


【解决方案1】:

您应该通过使用SharedPreferences#registerOnSharedPreferenceChangeListener() 监听SharedPreferences 的变化来做到这一点。

【讨论】:

  • 我也可以使用 onPreferenceClickListener 吗?这就是我一直试图使用但没有成功的东西。谢谢。
  • 您需要在另一个Activity 中保留一个Activity 的引用,可以这样做,但不建议这样做。这样一来,您将面临内存泄漏的风险并违反良好的编程原则。注册OnSharedPreferenceChangeListener 是更好、更安全的解决方案。
  • 感谢您的澄清。我会试试 OnSharedPreferenceChangeListener。谢谢
猜你喜欢
  • 2023-03-27
  • 1970-01-01
  • 2016-11-25
  • 1970-01-01
  • 1970-01-01
  • 2015-07-31
  • 2016-06-15
  • 1970-01-01
  • 2011-11-02
相关资源
最近更新 更多