我正在使用其他人为我的应用程序所做的设置,并且当用户无法正确连接到开发服务器时,我想取消选中CheckPreferenceBox。
我这样称呼我的CheckPreferenceBox:
CheckBoxPreference mCheck = (CheckBoxPreference) findViewById(R.id.prefs_dev_mode);
mCheck.setChecked(false);
这是我的.xml文件中与此相关的部分:
<CheckBoxPreference
android:id="@+id/prefs_dev_mode"
android:key="SP_DEV_SERVER"
android:title="@string/prefs_server_title"
android:summary="@string/prefs_server_summary"
android:defaultValue="false"/>
您看到可能是什么错误吗?
谢谢
最佳答案
您面临的问题是CheckBoxPreference
实际上不是View。它是Preference。因此,findViewById函数将不适用于您。
您不能像视图一样与此元素进行交互。
如果要取消选中它,则应该这样:
CheckBoxPreference pref = (CheckBoxPreference) getPreferenceScreen().findPreference("SP_DEV_SERVER");
pref.setChecked(false);