0

私はPrefActivityを持っており、ユーザーがリスト設定のボタンを変更するたびにOnChangeListenerを使用して乾杯します。しかし、今私は2つの問題を抱えています:1-ユーザーがオプショントーストを初めて変更したときは表示されません2-その後、ユーザーが設定を変更するたびに、リストの値は更新されず、常に2番目の値に設定されます。

これは私のコードです:

public class PrefsActivity extends PreferenceActivity implements OnSharedPreferenceChangeListener{

private ListPreference myPreference;
@Override
 public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState); 
addPreferencesFromResource(R.xml.prefs);

SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
prefs.registerOnSharedPreferenceChangeListener(this);

}

 public void onSharedPreferenceChanged(SharedPreferences arg0, String key) {

ListPreference lp = (ListPreference) findPreference("blocktype");
 lp.setOnPreferenceChangeListener(new OnPreferenceChangeListener() {

    @Override
    public boolean onPreferenceChange(Preference preference, Object newValue) {
        // TODO Auto-generated method stub

        Toast.makeText(PrefsActivity.this, "second", Toast.LENGTH_LONG).show();
        return false;


    }

});
}
}

とは

4

1 に答える 1

6

誰も私の質問に答えなかったので、どこに問題があるのか​​ わかりました。

return false

に変更する必要があります

return true

設定を更新するため

于 2012-12-02T21:33:03.573 に答える