View.VISIBLE и INVISIBLE не работает Колин - PullRequest
1 голос
/ 26 марта 2020

У меня есть edittext для пароля и кнопка для отображения пароля. Кнопка должна стать видимой только тогда, когда edittext не пуст. Я сделал некоторый код, но он не работает (он всегда невидим). Вот код:

passwordEditTextSUA.addTextChangedListener(object : TextWatcher {
        override fun afterTextChanged(s: Editable?) {}
        override fun beforeTextChanged(s: CharSequence?, start: Int, count: Int, after: Int) {}
        override fun onTextChanged(s: CharSequence?, start: Int, before: Int, count: Int) {
            if (passwordEditTextSUA.text.toString() != "") {
                showPasswordSUA.visibility == View.VISIBLE
            } else {
                showPasswordSUA.visibility == View.INVISIBLE
            }
        }
    })

и xml кнопки и текста редактирования:

<EditText
        android:id="@+id/passwordEditTextSUA"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginStart="34dp"
        android:layout_marginEnd="34dp"
        android:layout_marginBottom="35dp"
        android:hint="@string/enter_password"
        android:inputType="textPassword"
        android:theme="@style/EditTextTheme"
        app:layout_constraintBottom_toTopOf="@+id/repeatPasswordEditTextSUA"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent" />

<ImageView
        android:id="@+id/showPasswordSUA"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginEnd="4dp"
        android:layout_marginBottom="1dp"
        android:background="@android:color/transparent"
        android:src="@drawable/button_show_password"
        android:visibility="invisible"
        app:layout_constraintBottom_toBottomOf="@+id/passwordEditTextSUA"
        app:layout_constraintEnd_toEndOf="@+id/passwordEditTextSUA"
        app:layout_constraintTop_toTopOf="@+id/passwordEditTextSUA" />

Что не так?

1 Ответ

1 голос
/ 26 марта 2020

заменить это showPasswordSUA.visibility == View.VISIBLE на showPasswordSUA.visibility = View.VISIBLE Я работаю с java, но я думаю, что двойной знак равенства просто оценивается как истина или ложь. Вы хотите использовать только один =. см это

...