Eri*_*ric 1 android asynchronous preferenceactivity
我正在做一个相当基本的游戏.在我的偏好中,可以选择更改难度设置.我希望能够以某种方式,在调用它的主要活动中,感觉他们是否已经改变了难度.(然后重启游戏)
由于异步处理偏好活动的方式,我遇到了困难.如果我在将意图发送到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;
Android允许您注册首选项更改的侦听器.这是一个简单的例子:
public class myClass implements OnSharedPreferenceChangeListener
{
    private SharedPreferences settings;
    settings = PreferenceManager.getDefaultSharedPreferences(this);
    settings.registerOnSharedPreferenceChangeListener(this);
    public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key)
    {
       // Process it here
    }
}
| 归档时间: | 
 | 
| 查看次数: | 3213 次 | 
| 最近记录: |