【发布时间】:2015-02-27 07:46:56
【问题描述】:
我有一个PreferenceFragment,里面有一些偏好。我的目的是确保用户填写此屏幕上的所有值(如果他们不填写他们可以离开,但如果您填写一个则需要全部填写)
我的第一个想法是我可以处理 onBackPressed 并检查 pref1、pref2、pref3,但事实证明 PreferenceFragments 不会引发 onBackPressed 甚至 onKeyDown 事件。
我可以在主 Activity 中处理它,但是我从同一个 Activity 加载了几个这样的首选项片段,所以如果我可以在首选项片段本身中处理每个片段的逻辑是理想的。
如果有更好的方法来实现这一点,请解释一下。
【问题讨论】:
-
从活动中处理。数据必须与视图分离。这是首先使用片段的一点。您的活动是控制器。您必须从那里进行检查。
-
@StephanBranczyk - 你是说 PreferenceFragment 构成一个视图并且 PreferenceActivity 类似于控制器吗?抱歉,这听起来很奇怪,或者我错过了什么,design philosophy 表明它的逻辑应该尽可能地被封装。
标签: android back preferencefragment