2013-02-24 86 views
1

我有一个复选框首选项,我想从另一个复选框中设置它的值。现在我可以从checkboxpreference获得的价值,并将其设置到外部复选框,但我不知道如何从外部checkbox.Any帮助PleaseThis设置优先级的数值我 代码Android将复选框首选项的值从另一个复选框中更改

getPrefs = PreferenceManager.getDefaultSharedPreferences(getBaseContext());   musicpref = getPrefs.getBoolean("musicp", true);  
     CheckBox musiccheck = (CheckBox) findViewById(R.id.checkBox1); 
     //The external Checkbox, is checked will start service , if not will stop it 
       musiccheck.setOnCheckedChangeListener(new OnCheckedChangeListener() { 
        public void onCheckedChanged(CompoundButton buttonView, 
          boolean isChecked) { 
         if (isChecked) { 

          Intent musicstart = new Intent(MainActivity.this, 
            ServiceMusic.class); 
          startService(musicstart); 
         } else { 
          Intent musicstart = new Intent(MainActivity.this, 
            ServiceMusic.class); 
          stopService(musicstart); 
         } 

        } 
       }); 


       // Preference checkbox , if is true will set the external checkbox to true 
       if (musicpref == true) { 
        musiccheck.setChecked(true); 
       }else{ 
        musiccheck.setChecked(false); 
       } 
+0

所以你知道如何获得checkBox首选项,但不知道如何设置它正确? – lokoko 2013-02-24 05:05:55

+0

是的,我完全不知道如何从外部复选框中设置它。 – user1376370 2013-02-24 05:07:55

回答

4

你可以试试是这样的:

SharedPreferences preferendecs = PreferenceManager.getDefaultSharedPreferences(getContext()); 
Editor editor = preferencess.edit(); 
editor.putBoolean(PREF_NAME, musiccheck.getValue()); 
editor.commit(); 

你也可以参考这个:

http://android-coding.blogspot.in/2011/08/example-of-using-checkboxpreference.html

How do I capture changes of a CheckBoxPreference in android development?

+0

工作得很好,谢谢+1和最佳答案 – user1376370 2013-02-24 05:45:31

相关问题