我已经实现了我自己的PreferenceFragment子类(详细在这里 ),并希望听取其中的偏好更改。 PreferenceFragment为您提供了两种执行此操作的方法: getPreferenceManager().getSharedPreferences().registerOnSharedPreferenceChangeListener(this); 和 getPreferenceScreen().getSharedPreferences().registerOnSharedPreferenceChangeListener(this); 哪一个应该使用? 有什么不同? 我真的不明白在Android文档中所做的区别 。
我已经玩了几个星期的MVP模式,我已经到了需要上下文来启动service和访问Shared Preferences的地步。 我已经读过,MVP的目的是从逻辑上分离视图,并且在Presenter拥有context可能会打败这个目的(纠正我,如果我错了的话)。 目前,我有一个看起来像这样的LoginActivity: LoginActivity.java public class LoginActivity extends Activity implements ILoginView { private final String LOG_TAG = "LOGIN_ACTIVITY"; @Inject ILoginPresenter mPresenter; @Bind(R.id.edit_login_password) EditText editLoginPassword; @Bind(R.id.edit_login_username) EditText editLoginUsername; @Bind(R.id.progress) ProgressBar mProgressBar; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_login); MyApplication.getObjectGraphPresenters().inject(this); mPresenter.setLoginView(this, getApplicationContext()); } @Override public void onStart() { mPresenter.onStart(); ButterKnife.bind(this); super.onStart(); } @Override public void […]