我正在使用here的preference-fix
库
为了让我更好地处理fragments
内部的首选项,但是我有一个问题,并且没有收到我在github上提交的问题的回复。
我有一个自定义的首选项布局,因为在我的一个首选项中需要一个进度对话框,因此我使用了一个自定义窗口小部件布局,并创建了一个简单的ConstraintLayout
,其中包含ProgressBar
。我遇到的问题是,我无法ProgressBar
掌握PreferenceFragment
的情况,无法根据发生的操作更新进度。
基本上,我允许用户重置其应用程序,它删除所有SharedPreferences
,然后退出该应用程序并重新启动它。我使用commit()
而不是apply()
来使用SharedPreferences
,因为使用apply()
然后调用exit()
并加载应用程序备份,SharedPreferences
不要真的被擦掉了。该应用程序加载的旧偏好仍然保持原样。
除此之外,我还需要知道如何从ProgressBar
获取自定义窗口小部件布局内的PreferenceFragment
。如果需要,我可以提供代码示例,这非常简单,所以我不确定是否需要它。谢谢。
请注意,该库没有普通支持库所拥有的getView()
方法,因此我不能使用它。尽管我不确定这是否重要,但是由于我还没有很好地解释其实际工作原理。无论哪种方式,我似乎都找不到找到进度条视图的方法,因此可以从AsyncTask的onProgressUpdate()
方法进行更新。