Je dois définir un bouton sur "visible" ou "parti" de manière dynamique en tant que types d'utilisateurs sur un champ TextView. En utilisant la déclaration ci-dessous, j'ai été en mesure de l'accomplir lorsque l'entrée est enfoncée, mais ce serait formidable si le bouton devient visible ou parti immédiatement en tant que type utilisateur ou supprime le contenu du texte. Toute suggestion?
binding.textField.setOnEditorActionListener { v, actionId, event -> if (v.text.toString().trim().isEmpty()){ binding.button.visibility = View.GONE } else{ binding.button.visibility = View.VISIBLE } return@setOnEditorActionListener true }
3 Réponses :
Vous devez ajouter TextChangelistener à votre texte Modifier et masquer le bouton sur le texte Changement de texte
binding.textField.addTextChangedListener(new TextWatcher() { @Override public void afterTextChanged(Editable s) {} @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { } @Override public void onTextChanged(CharSequence s, int start, int before, int count) { binding.button.visibility = View.GONE } });
Merci pour les commentaires!
Vous pouvez utiliser Comme ceci: p> espère que l'aide :) p> p> addtextChangeDlistener code> sur votre editext.
Bonjour @ryann, merci beaucoup pour votre aide. Et je suis désolé pour les retours retardés. Depuis que je suis débutant sur Android et Kotlin, il m'a fallu un peu de temps pour mettre en œuvre votre suggestion. Il s'avère que Kotlin offre un accès simplifié aux fonctions de remplacement. J'ai posté la mise en œuvre finale ci-dessous pour que toutes les informations de tout le monde. Merci encore pour votre soutien!
Kotlin offre un accès simplifié aux fonctions de remplacement. Voici ma mise en œuvre finale (travail), FYI:
binding.textField.doAfterTextChanged { text: Editable? -> if (text.toString().trim().isEmpty()){ binding.button.visibility = View.GONE } else{ binding.button.visibility = View.VISIBLE }