开发者

Android PreferenceActivity instance

开发者 https://www.devze.com 2023-01-07 04:59 出处:网络
How can I find my PreferenceActivity instance, which was created by a framework? * * * My first class. /** This is MyAppSettings class, The instance of this class will be created by a framework **/

How can I find my PreferenceActivity instance, which was created by a framework?

* * *

My first class.

/** This is MyAppSettings class, The instance of this class will be created by a framework **/

public class MyAppSettings extends PreferenceActivity {
    protected MySeekBarPreference mSeekBarPref;

    @Override
    protected void onCreate(Bundle icicle) {
        super.onCreate(icicle);
        addPreferencesFromResource(R.xml.prefs);

        mSeekBarPref = (MySeekBarPreference)super.findPreference("my_key");
    }
}

* * *

My second class.

public class MySeekBarPreference extends DialogPreference implements SeekBar.OnSee开发者_JAVA技巧kBarChangeListener {

      // in whis code I need to get the instance of the MyAppSettings, which was
      // created by Android framework. (I paste a hypothetical func getTheInstanceOfMyAppSettings() :))
  private MyAppSettings mAppSettings = getTheInstanceOfMyAppSettings(); 

Can I find it by ID or something else?


I guess that you are looking for getPreferenceScreen()

You can use it to modify the PreferenceScreen that was defined in the xml.

For example:

private void disableHardKeyboardOptions() {
    Preference pref = getPreferenceScreen().findPreference("pref_hardkeyboard_option");
    pref.setEnabled(false);
    pref.setSummary(custom.getString(R.string.pref_no_hardkeyboard));
}
0

精彩评论

暂无评论...
验证码 换一张
取 消