ksino's diary

覚えたことを忘れないように、小さなことでも書いていく。

EditTextPreferenceの入力テキストボックスにonClickListenerをセットする

EditTextPreferenceの入力テキストボックスでクリックイベントを拾いたい場合、EditTextPreferenceからEditTextを取り出し、そこにリスナを設定してあげれば良いです。

EditTextPreference preference = (EditTextPreference)findPreference("pref");
EditText edit = preference.getEditText();
prefTelnumEdit.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        // 処理を実装
    }
});

EditTextPreference#setOnPreferenceClickListenerだと、EditTextPreference自体がクリックされた時のイベントになります。
やりたかったのは、EditTextPreferenceのダイアログが開いた後、そのダイアログの入力テキストボックスでイベントを拾う、でした。