Как настроить прослушиватели onClick для параметров в настройках списка? - PullRequest
0 голосов
/ 16 апреля 2020

У меня есть список предпочтений, который позволит пользователю выбрать, какой аудиокод c он будет sh использовать в моем приложении Voice Recorder android.

Я хотел бы установить прослушиватель onClick для каждого элемента в списке, так как при его выборе мне нужно получить доступ к своей основной деятельности и изменить настройки MediaRecorder. В настоящее время у меня есть прослушиватель onClick, который активируется только при выборе самой опции «Аудиокод c».

Вот мое предпочтение , а ниже - текущий код для onClick. listerner.

final Preference audioCodec = findPreference("codec");
   audioCodec.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() {
      @Override
      public boolean onPreferenceClick(Preference preference) {
          System.out.println("Clicked");
          return true;
        }
    });
}

Ниже приведены значения, которые я хочу назначить слушателю onClick, а не просто заголовок "Аудиокод c". Это возможно?

<!-- Audio codec list  -->
<string-array name="codecListArray">
    <item>Audio codec 1</item>
    <item>Audio codec 2</item>
    <item>Audio codec 3</item>
</string-array>

Пожалуйста, дайте мне знать, если вам нужно больше скриншотов или информации, спасибо.

1 Ответ

0 голосов
/ 16 апреля 2020

Вы можете использовать OnPreferenceChangeListener, который срабатывает при каждом изменении предпочтения.

audioCodec.setOnPreferenceChangeListener(new OnPreferenceChangeListener() {    
    @Override
    public boolean onPreferenceChange(Preference preference, Object newValue) {
        // newValue is the value you choose
        return true;
    }
});
...