以编程方式更改android:enabled="true"

4
首次启动时,我的应用程序将checkboxpreference的偏好设置为“true”。现在我需要以编程方式设置此值(android:enabled =“true”)或false。有什么想法吗?
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" />
1个回答

7

启用复选框

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

禁用复选框
getPreferenceScreen().findPreference("checkbox-preference-key").setEnabled(false);//Disabling

我不需要启用/禁用所有复选框首选项。我只需要启用/禁用android:enabled。 - Pol Hallen
android:enable="true" 表示复选框已启用。要启用/禁用 android:enable="true",您需要启用/禁用 Preference-Screen 内的完整 Checkbox - Vikalp Patel
明白了,但是...我该如何创建一个getPreferenceScreen()方法? - Pol Hallen
getPreferenceScreen() 是 API 11 内置的方法,它提供了您的应用程序的默认首选项。 - Vikalp Patel
嗯嗯嗯...我需要在 API 11 以下使用它,哪种方法最好?谢谢! - Pol Hallen

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接