0

私はそのような onPreferenceClickListener私のサブクラスに設定しました:DialogPreference

public class SeekBarDialogPreference extends DialogPreference {
    ...
    public void show() {
        onClick();
    }
}


public class TopPage extends PreferenceActivity {
    ...
    SeekBarDialogPreference Foo = (SeekBarDialogPreference) findPreference("Foo");
    foo.setOnPreferenceClickListener(new OnPreferenceClickListener() {

        public boolean onPreferenceClick(Preference pref) {
            ((SeekBarDialogPreference) pref).show();
            return true;
        }
    });

SeekBarDialogPreferenceをクリックすると、showDialog()onCreateDialogView()がそれぞれ2回呼び出されます。私の質問は、DialogPreferenceコンストラクターがデフォルトでクリックリスナーを生成し、コードを冗長にするかどうかです。

4

1 に答える 1

0

はい、そうです。公表onClick()は冗長です。これは私にこの答えの信憑性に疑問を投げかけることになります。

于 2012-03-21T00:31:27.100 に答える