私はかなり基本的なゲームを作っています。私の好みでは、難易度の設定を変更するオプションがあります。どういうわけか、それを呼んだメインアクティビティで、彼らが難易度を変えたかどうかを感じられるようにしたいと思います。(そしてゲームを再開します)
設定アクティビティが非同期で処理される方法が原因で問題が発生しています。(メニュー選択から)インテントを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;