Java 设置活动中的if()
我是一个Android初学者,想在我的设置/首选项活动中提出一个if问题 以下是我的Preferences.java:Java 设置活动中的if(),java,android,android-preferences,preferenceactivity,Java,Android,Android Preferences,Preferenceactivity,我是一个Android初学者,想在我的设置/首选项活动中提出一个if问题 以下是我的Preferences.java: package net.dominik.genpush; import android.os.Bundle; import android.preference.PreferenceActivity; public class Preferences extends PreferenceActivity{ @Override protected void
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>
但我不知道当复选框更改时如何启动methode。
另一方面,我可以使用
android:onClick=“MethodeNameHere”在my activity.xml-File中。这在我的PreferenceActivity类中不起作用,因此没有消息
是否有一种(简单的)方法可以以类似的方式执行类似于“onClick”的操作?如果您只是试图使一个属性依赖于另一个属性,您可以使用
android:dependency
属性。这能满足你的要求吗?例如:
<CheckBoxPreference
android:key="pushCheckBox"
android:title="@string/pushnachr_headline"
android:summary="@string/pushnachr_explain"
android:defaultValue="true">
<!-- This setting will be disabled if pref_one is not checked -->
<CheckBoxPreference
android:defaultValue="false"
android:key="preference_two"
android:dependency="pushCheckBox"
android:title="Pref Two" />
您可以为复选框设置侦听器
CheckBoxPreference checkBox = (CheckBoxPreference) findPreference("pushCheckBox");
checkBox.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() {
@Override
public boolean onPreferenceChange(Preference preference, Object value) {
//your code here
return true;
}
});
根据return true,将使用新值更新首选项的状态
如果勾选了复选框,只需在监听器内部进行检查。请查看此链接谢谢您的回复,但这不是我想要的。我认为@bgplaya的做法是正确的:)谢谢你的回答。在onPreferenceChange方法中我应该做什么?因为android studio想要一个返回参数
Preference pushCheckBox = findPreference("pushCheckBox");
pushCheckBox.setOnPreferenceClickListener(new OnPreferenceClickListener() {
@Override
public boolean onPreferenceClick(Preference preference) {
// do something here
return false;
}
});
CheckBoxPreference checkBox = (CheckBoxPreference) findPreference("pushCheckBox");
checkBox.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() {
@Override
public boolean onPreferenceChange(Preference preference, Object value) {
//your code here
return true;
}
});