Android PreferenceActivity实例
问题描述:
如何查找由框架创建的PreferenceActivity实例?Android PreferenceActivity实例
* * *
我的第一课。
/** 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");
}
}
* * *
我的第二类。
public class MySeekBarPreference extends DialogPreference implements SeekBar.OnSeekBarChangeListener {
// 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();
我可以通过ID或其他东西找到它吗?
答
我猜你正在寻找getPreferenceScreen()
你可以用它来修改在XML中定义的PreferenceScreen
。
例如:
private void disableHardKeyboardOptions() {
Preference pref = getPreferenceScreen().findPreference("pref_hardkeyboard_option");
pref.setEnabled(false);
pref.setSummary(custom.getString(R.string.pref_no_hardkeyboard));
}
哪里,怎么样?在你的语境中可能是“this”。请编辑您的原始问题,并发布您创建的详细代码以及您想要查找实例的位置。 – Pentium10 2010-07-11 13:49:34