小编mwi*_*ock的帖子

Android Activity / PreferenceFragment生命周期?

我有一个非常简单的偏好设置,其中将PreferenceFragment添加到Activity。这Activity也是一个OnSharedPreferenceChangeListener,因为每当该首选项更新时,我都想更新该首选项的摘要。这是Activity

public class PrefsActivity extends Activity implements OnSharedPreferenceChangeListener {

    private static final String PREF_KEY = "key goes here";

    private PrefsFragment pf;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        pf = new PrefsFragment();
        getFragmentManager().beginTransaction().replace(android.R.id.content, pf).commit();
        // pf.getPreferenceScreen() throws a NullPointerException here
    }

    @Override
    protected void onPause() {
        super.onPause();
        PreferenceManager.getDefaultSharedPreferences(this).unregisterOnSharedPreferenceChangeListener(this);
    }

    @Override
    protected void onResume() {
        super.onResume();
        updateSummary();
        PreferenceManager.getDefaultSharedPreferences(this).registerOnSharedPreferenceChangeListener(this);
    }

    @Override
    public void onSharedPreferenceChanged(SharedPreferences prefs, String key) {
        if (key.equals(PREF_KEY)) {         
            updateSummary(); …
Run Code Online (Sandbox Code Playgroud)

android android-lifecycle

4
推荐指数
1
解决办法
2945
查看次数

一对一的DataMapper关联

我是DataMapper的新手,我正在尝试为以下场景创建模型:

我有很多用户(用户名,密码等),也可以是玩家或裁判,或者两者兼而有(因此不能选择单表继承).基础模型将是:

class User
  include DataMapper::Resource
  property :id, Serial
  # Other user properties go here  
end

class Player
  include DataMapper::Resource
  property :id, Serial
  # Other player properties go here
  # Some kind of association goes here
end

class Referee
  include DataMapper::Resource
  property :id, Serial
  # Other referee properties go here
  # Some kind of association goes here
end

DataMapper.finalize
Run Code Online (Sandbox Code Playgroud)

不过,我不确定添加到播放器和裁判的关联类型.有了belongs_to :user,多个玩家可以与同一个用户相关联,这在我的上下文中没有意义.在RDBMS术语中,我想我想要的是对玩家和裁判员表中的外键的唯一约束.

我如何在DataMapper模型中完成此操作?我是否必须在验证中自行执行检查?

ruby datamapper ruby-datamapper

2
推荐指数
1
解决办法
583
查看次数