2011-02-18 4 views
0

2 부분 환경 설정 화면을 구현하고 싶습니다. 체크 박스를 클릭하면 첫 번째 카테고리가 잠기고 두 번째 카테고리는 잠금 해제되어야합니다. 그렇지 않으면 반대하십시오. 이제는 이전 활동으로 이동 한 다음 new (sharedPreferences)로 이동하면 작동한다는 것을 알 수 있습니다. 어떤 청취자를 무시하고 어떻게해야합니까?CheckboxPreference onClick()

답변

5

당신은 같은 것을 시도 할 수 :

final Preference otherpref = (Preference) findPreference("otherpref"); 
final Preference pref = (Preference) findPreference("checkbox");   
pPref.setOnPreferenceClickListener(new OnPreferenceClickListener() { 

    public boolean onPreferenceClick(Preference preference) { 
     otherPref.setSelectable(false); 
     Toast.makeText(getBaseContext(), "Some text", Toast.LENGTH_SHORT).show(); 
     return true; 
    } 
}); 

을 그리고 원하는 범주를 해제합니다.

1
나는 PreferenceActivity를하고 구현 OnSharedPreferenceChangeListener

public class SettingsActivity extends PreferenceActivity implements OnSharedPreferenceChangeListener { 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
    Context context = getApplicationContext(); 
    SharedPreferences settings = PreferenceManager.getDefaultSharedPreferences(context); 
    settings.registerOnSharedPreferenceChangeListener(this); 
    } 

    @Override 
    public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) { 
    // Check the checkboxes 
    } 
} 
를 확장하는 클래스로 내 취향 활동을 구현 한