我找不到关于复选框偏好的任何教程.我可以使用listpreference,但我不能使用checkbox首选项.现在,我希望如果用户在checbox上设置,一个toast msg说"true",如果他将其设置为关闭,那么toast msg会说"false".到目前为止我有这个:
的preferences.xml:
<CheckBoxPreference
android:title="Show Call UI"
android:defaultValue="true"
android:summary="Show Call Interface when clicking call button"
android:key="checkboxPref" />
Run Code Online (Sandbox Code Playgroud)
EditPreferences.java:
public class EditPreferences extends PreferenceActivity {
String listPreference;
boolean checkboxPreference;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.preferences);
}
public void onStart(Intent intent, int startId) {
getPrefs();
}
private void getPrefs() {
SharedPreferences prefs = PreferenceManager
.getDefaultSharedPreferences(getBaseContext());
listPreference = prefs.getString("listPref", "nr1");
checkboxPreference = prefs.getBoolean("checkboxPref", true);
}
}
Run Code Online (Sandbox Code Playgroud)
编辑:解决方案感谢David Caunt:
checkboxPreference.
setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() {
public boolean onPreferenceChange(Preference preference, Object newValue) {
if …Run Code Online (Sandbox Code Playgroud) 在Android应用程序编程中,变量名长度真的重要吗?长变量名会影响Android应用程序的性能吗?
有人可以对这些错误有所了解
03-23 14:24:53.641 31726-32030/com.vpn W/dalvikvm: VFY: unable to find class referenced in signature (Ljava/nio/file/Path;)
03-23 14:24:53.644 31726-32030/com.vpn W/dalvikvm: VFY: unable to find class referenced in signature ([Ljava/nio/file/OpenOption;)
03-23 14:24:53.647 31726-32030/com.vpn I/dalvikvm: Could not find method java.nio.file.Files.newOutputStream, referenced from method okio.Okio.sink
03-23 14:24:53.647 31726-32030/com.vpn W/dalvikvm: VFY: unable to resolve static method 22324: Ljava/nio/file/Files;.newOutputStream (Ljava/nio/file/Path;[Ljava/nio/file/OpenOption;)Ljava/io/OutputStream;
03-23 14:24:53.647 31726-32030/com.vpn D/dalvikvm: VFY: replacing opcode 0x71 at 0x000a
Run Code Online (Sandbox Code Playgroud)