我是一名 Android 初学者,想在我的设置/首选项 Activity 中提出一个 if 问题。
这是我的 Preferences.java:
package net.dominik.genpush;
import android.os.Bundle;
import android.preference.PreferenceActivity;
public class Preferences extends PreferenceActivity{
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.prefs);
}
}
...和我的 Prefs.xml:
<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
<CheckBoxPreference
android:key="pushCheckBox"
android:title="@string/pushnachr_headline"
android:summary="@string/pushnachr_explain"
android:defaultValue="true">
</CheckBoxPreference>
</PreferenceScreen>
现在我想做一些类似的东西
public void onCheckboxPush(View b)
{
if (pushCheckBox.isChecked())
{
//CODE
}
else...
但不知道当复选框更改时如何启动该方法。 以另一种方式我可以使用
android:onClick="MethodeNameHere"在我的 Activity.xml 文件中。这在我的 PreferenceActivity 类中不起作用,因此没有消息。
是否有一种(简单)方法可以以类似的方式执行“onClick”之类的操作?
最佳答案
您可以为复选框设置监听器。
CheckBoxPreference checkBox = (CheckBoxPreference) findPreference("pushCheckBox");
checkBox.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() {
@Override
public boolean onPreferenceChange(Preference preference, Object value) {
//your code here
return true;
}
});
根据documentation返回 true 将使用新值更新 Preference 的状态。
并且只需检查监听器内部是否选中了复选框。
关于java - 设置 Activity 中的 if(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25816379/