Я пытаюсь установить текст на EditText в коде, но получить следующее сообщение об ошибке: -Android Ошибки при установке текста на EditText
java.lang.ClassCastException: android.widget.LinearLayout cannot be cast to android.widget.EditText
У меня есть несколько правок текстов, которые правильно SetText, это один находится на LinearLayout вложенных в родительский LinearLayout. Так что у меня
LinearLayout1
EditText1 >- Set text works ok
Nested LinearLayout2
EditText2 >- Find elements works ok but setText fails with the error above.
Я попытался установить цель, как LinerLayout1 и 2 (с является индексом в цикле детей)
Код snipit выглядит следующим образом: -
View tmp = target.getChildAt(c);
EditText et = (EditText) target.getChildAt(c);
//et correctly resolves as the correct EditText
String s = "[some value]";
et.setText(s); << this throws the above error
Все мои представления создаются динамически, поэтому идентификатор неизвестен. Используется getChildAt (c), потому что я уже зациклил элементы управления, чтобы найти тот, который я хочу обновить, и этот индекс находится в индексе (c). Я пробовал приведенный выше код с теми же результатами, опять же, и правильно разрешает EditText, при отладке я могу правильно видеть свойства, такие как текст подсказки, но как только я пытаюсь setText, он вызывает ту же ошибку. – OB1