我正在使用其他人为我的应用程序所做的设置,并且当用户无法正确连接到开发服务器时,我想取消选中 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 函数对您不起作用。
您无法像 View 一样与此元素交互。
如果你想将其设置为取消选中,你应该这样做:
CheckBoxPreference pref = (CheckBoxPreference) getPreferenceScreen().findPreference("SP_DEV_SERVER");
pref.setChecked(false);
关于java - 不兼容的类型 : Cannot Cast View to CheckPreferenceBox,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34793450/