我正在制作一个相当基本的游戏。在我的偏好中,有一个选项可以更改难度设置。我希望能够在调用它的主要活动中以某种方式感知他们是否改变了难度。(然后重新开始游戏)
由于如何异步处理偏好活动,我遇到了困难。如果我在将意图发送到我的 PreferenceActivity (从菜单选择)之前和之后添加逻辑来检查值,它真的不起作用......
有人可以为我指出一个正确的方向,即如何序列化通常异步处理的一段代码,或者知道如何感知偏好的变化?是否有隐藏在某处的监听器类?
为了后代的缘故,这里是处理意图的代码以及我是如何失败的。(片段,来自内部菜单 onOptionsItemSelected,在开关内部)
case R.id.menuOptions:
String currentDifficulty = preferences.getString("difficulty","problem!");
Intent i = new Intent(this, prefs.class);
startActivity(i);
if (currentDifficulty.equals(preferences.getString("difficulty","problem!")))
return true;
else doNewGame();
return true;