2015-05-11 3 views
0

У меня есть два EditText с двумя состояниями. Сфокусированное состояние и состояние по умолчанию.EditText различное состояние после того, как пользователь вставляет содержимое

<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:state_focused="true" android:drawable="@drawable/focused" /> 
    <item android:drawable="@drawable/not_focused" /> 
</selector> 

Это работает так, как ожидалось, и состояния отличаются только фоном (цветом и т. Д.).

Я добавил setOnFocusChangeListener на edittext, чтобы обнаружить фокус.

Как настроить состояние моего edittext таким же, как сфокусированное состояние, только если у меня есть контент в моем edittext? (например, после ввода пользователем какого-либо ввода)?

В setOnFocusChangeListener я могу обнаружить EditText ориентирован и если это имеет какое-либо содержание, но я не могу понять, как поддерживать сфокусированное состояние, то есть, тот же фон

ответ

0

Вы можете использовать TextWatcher чтобы проверить, когда текст изменится, а затем внутри, добавьте IF, затем внутри этого IF проверьте, отличен ли EditText от null, и, добавьте свой код.

Что это будет делать, так это то, что в любое время текст внутри EditText будет меняться, он назовет IF и увидит, что у него есть текст внутри и, соответственно, измените его.

+0

Да. Я уже это делаю, но проблема заключается в том, что состояние такое же, как при фокусировке. – Favolas

+0

@Favolas. Не тот же код, который вы использовали в 'setOnFocusChangeListner'? –

+0

Нет. Я использую селектор фона. – Favolas

Смежные вопросы