Я пытаюсь найти масштабируемый способ связать два текстовых поля редактирования для преобразования единиц измерения. Пользователь вводит значение в одно из полей, а преобразованное значение отображается в другом.
Обычно я делаю так, чтобы при редактировании одного EditText он получал входные данные, передавал их через метод для преобразования значения и устанавливал текст другого поля.
Проблема в том, что у меня много этих пар, и каждая пара используется для преобразования единиц разного вида. Если бы я использовал TextWatcher для каждого поля, вы можете увидеть, где это может выйти из-под контроля.
Я думал о расширении TextWatcher, чтобы я мог передать ему представление EditText и представление его партнера, но я не уверен, как передать его, какой метод преобразования необходимо использовать. Я мог бы назначить int каждому виду преобразования и использовать переключатель, но это не кажется мне хорошим решением.
Есть ли лучший способ?