java–Android– 在首选项更改时执行某些 *** 作

java–Android– 在首选项更改时执行某些 *** 作,第1张

概述我有两个类,CustomerPreferences扩展了PreferenceActivity,实现了OnSharedPreferenceChangeListener,CustomerActivity扩展了Activity.在CustomerActivity中,我计算了一些值.在CustomerPreferences中,我想要监视一个特定的ListPreference.当用户输入CustomerPreferences(通过Custom

我有两个类,CustomerPreferences扩展了PreferenceActivity,实现了OnSharedPreferencechangelistener,CustomerActivity扩展了Activity.在CustomerActivity中,我计算了一些值.在CustomerPreferences中,我想要监视一个特定的ListPreference.当用户输入CustomerPreferences(通过CustomerActivity上的菜单选项完成)并更改ListPreference,然后点击后退按钮并返回CustomerActivity时,我想根据新的首选项设置重新计算我的值.如果用户进入CustomerPreferences但没有更改ListPreference的值,我不想在返回CustomerActivity时重新计算任何内容.

我怎样才能做到这一点?

我想我需要在CustomerPreferences.onSharedPreferenceChanged以及CustomerPreferences.onBackpressed中做一些事情,然后可能在CustomerActivity中处理一些事情.

解决方法:

您可以在CustomerActivity的onResume()方法中处理更改.因此,在用户按下后,在onResume()中,浏览您的首选项并重新计算您的值并根据计算的值更改GUI表示.

当然,有时这是不必要的,因为用户可能没有改变任何东西.只要您的计算不太重,就不应该引起关注.

您可以做的另一件事是在共享首选项中设置一个布尔值,例如preferencesChanged,它将在CustomerPreferences.onSharedPreferenceChanged中设置为true.然后在onResume()中检查preferencesChanged.如果是真的你做重新计算.否则什么都不做.

另一种选择是使用startActivityForResult()为结果启动首选项活动.然后在CustomerActivity中的onActivityResult()中重新计算.结果值将在CustomerPreferences.onSharedPreferenceChanged中设置

总结

以上是内存溢出为你收集整理的java – Android – 在首选项更改时执行某些 *** 作全部内容,希望文章能够帮你解决java – Android – 在首选项更改时执行某些 *** 作所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1114187.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-29
下一篇 2022-05-29

发表评论

登录后才能评论

评论列表(0条)

保存