2013-01-19 47 views
4

第一次啓動時,我的應用程序將首選項設置爲關於checkbox首選項的「true」。現在我需要設置這個值(android:enabled =「true」)或者編程爲false。任何想法?以編程方式更改android:enabled =「true」

protected void checkLicense(){ 
     PackageManager manager = getPackageManager(); 
     if (manager.checkSignatures("core.package.name", "key.package.name") 
      == PackageManager.SIGNATURE_MATCH) { 
      //full version 
      isEnabled = true; 
      Toast.makeText(this, "pro", Toast.LENGTH_LONG).show(); 
     } 
     else { 
      Toast.makeText(this, "free", Toast.LENGTH_LONG).show(); 
      isEnabled = false; 




<CheckBoxPreference 
         android:enabled="true" 
         android:title="Now" 
         android:defaultValue="false" 
         android:key="keep" /> 

回答

7

啓用複選框

getPreferenceScreen().findPreference("checkbox-preference-key").setEnabled(true); //Enabling 

禁用的CheckBox

getPreferenceScreen().findPreference("checkbox-preference-key").setEnabled(false);//Disabling 
+0

我不需要啓用/禁用所有checkboxpreferences。我需要啓用/禁用只有android:啓用 –

+0

'android:enable =「true」'裏面只意味着複選框啓用。要啓用/禁用'android:enable =「true」',您需要在您的_Preference-Screen_ –

+0

理解中啓用/禁用完整的** Checkbox **,但是......我如何創建getPreferenceScreen()方法? –