the Android guideによれば、私はPreference Fragmentsを使ってプリファレンスを実装しようとしています。あるpreferences.xmlでは私が宣言:SwitchPreferencesはonPreferenceChange()メソッドを複数回呼び出します
<SwitchPreference
android:key="enable_wifi"
android:title="Enable WiFi"
/>
とクラスthahにおけるよりは私のonCreateメソッドでPreferenceFragmentを拡張:
public class FragmentSettings extends PreferenceFragment {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.preferences);
mEnableWifi = (SwitchPreference) findPreference(enable_wifi);
mEnableWiFi.setOnPreferenceChangeListener(new OnPreferenceChangeListener() {
@Override
public boolean onPreferenceChange(Preference preference, Object newValue) {
Log.i(getClass().getName(), preference.getKey()
+ String.valueOf(newValue));
}
}
そして、私はSwitchPrefereneにCLIKまたはログ・ショー内で切り替えたときに私が得た結果、
enable_wifi false
enable_wifi false
enable_wifi true
enable_wifi true
ですから、私はリスナーが複数回呼び出されると思います。どのようにそれを扱うか、それを修正する?
問題が「return」ステートメントが見つからなかった場合、コードはコンパイルされますか?ログは、コードがうまくコンパイルされることを示します。 – Vikram
@Vikram return文が見つからない場合、多分何かがありますか?問題がどこにあるのか、どうすればわかるのでしょうか?私たちができることは、次に推測することです:-) – Simas
私はあなたに絶対に同意します - 問題がどこにあるかを伝えるのは難しいです。私は、コードが欠落したreturn文でコンパイルされないと言っていただけです。それはいいけどね:) – Vikram