2010-07-11 2 views
1

프레임 워크에서 만든 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 또는 다른 항목으로 찾을 수 있습니까?

+1

, 어떻게? 아마도 당신의 맥락에서'이'라고 생각할 것입니다. 원래 질문을 편집하고 작성한 세부 코드와 인스턴스를 찾으려는 위치를 게시하십시오. – Pentium10

답변

0

난 당신이 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)); 
} 
관련 문제