代码之家  ›  专栏  ›  技术社区  ›  Milan

从其他活动访问类

  •  1
  • Milan  · 技术社区  · 14 年前

    MainActivity类-扩展活动

    MyLayout类-扩展视图

    MainActivity创建MyLayout类并将其设置为contentview。一旦用户按下菜单,Prefs类就会启动,用户可以在其中更改一些设置。

    我想要的是,一旦用户更改了一个设置,Prefs类中重载的OnsharedPreferenceChanged方法就会被调用,我想从那里调用MainActivity中创建的MyLayout类的公共方法。

    2 回复  |  直到 14 年前
        1
  •  3
  •   Falmarri    14 年前

    
    
    SharedPreferences pref = PreferenceManager.getDefaultSharedPreferences(this);
    
    pref.registerOnSharedPreferenceChangeListener(prefListener);
    
    

    然后可以创建一个新的首选项侦听器

    
        OnSharedPreferenceChangeListener prefListener = new OnSharedPreferenceChangeListener() {
    
            @Override
            public void onSharedPreferenceChanged(
                    SharedPreferences sharedPreferences, String key) {
                // Do stuff
            }
    
        };
    
    

    您还应该在onPause()中注销侦听器,除非您需要它持久化,否则在onStop()中注销它

        2
  •  0
  •   Macarse    14 年前

    尝试制作 MainActivity 实施 OnSharedPreferenceChangeListener onCreate() 法尔马里说的方法。