2011-02-18 50 views
0

我想实现2部分首选项屏幕。如果复选框被点击,第一类应该锁定,第二类解锁。如果不是,则相反。现在我发现它只在我去上一个活动,然后到新的(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 
    } 
} 
相关问题