J'essaye de définir et onclicklistener de sorte que lorsque je clique dans l'élément edittext, il efface son contenu actuel. Y a-t-il quelque chose qui ne va pas ici? Lorsque je compile ce code, j'obtiens un arrêt forcé et ActivityManager: impossible de distribuer le bloc DDM 4d505251: aucune erreur définie par le gestionnaire.
public class Project extends Activity implements OnClickListener {
/** Called when the activity is first created. */
EditText editText = (EditText)findViewById(R.id.editText1);
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
editText.setOnClickListener(this);
setContentView(R.layout.main);
}
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
editText.setText("");
}
}
android
android-edittext
Locoboy
la source
la source
EditText editText = (EditText)findViewById(R.id.editText1);
Cette ligne ici doit être placée dans la méthode onCreate. C'est un appel de fonction par le contexte.findViewById
avant d'avoir appelésetContentView
.EditText
, ce qui lui permet d'afficher un texte lorsqu'il est vide et qui disparaît lorsque l'utilisateur commence à taper. Ajoutezandroid:hint="your hint text here"
à votreEditText
in xml. Un «indice» est généralement utilisé pour indiquer à quoi sert le EditText. Ce n'est peut-être pas ce que vous recherchez, mais je cherchais aussi à effacerEditText
le clic jusqu'à ce que je découvre que le "conseil" faisait ce que je cherchais vraiment.Réponses:
Vous devez d'abord appeler
setContentView(R.layout.main)
puis toutes les autres initialisations.Veuillez essayer ci-dessous Code.
la source
.clear
ou.setText("")
). Y a-t-il des différences? Quand devrais-je utiliser lesquels ou sont-ils complètement identiques? Merci.Vous pouvez également utiliser le code ci-dessous
la source
utilisez simplement l'
android:hint
attribut dans votre EditText. Ce texte apparaît lorsque la zone est vide et non focalisée, mais disparaît lors de la sélection de la zone EditText.la source
Nous pouvons effacer les données EditText de deux manières
Le premier paramètre EditText est vide comme la ligne ci-dessous
Deuxième effacement des données EditText comme celle-ci
Je suggère la deuxième façon
la source
Votre code doit être:
la source
la source
Très simple à effacer les valeurs editText.Lorsque vous cliquez sur le bouton, suivez uniquement le code d'une ligne.
la source
la source
Je ne sais pas quelles erreurs j'ai commises lors de la mise en œuvre des solutions ci-dessus, mais elles ont échoué pour moi
Cela fonctionne pour moi,
la source
// Pour effacer lorsque vous cliquez sur le bouton Effacer
Cela aidera à effacer les mauvais mots clés que vous avez tapés, donc au lieu d'appuyer encore et encore sur la touche de retour arrière, vous pouvez simplement cliquer sur le bouton pour tout effacer. J'espère que ça aide
la source
la source
en définissant Chaîne vide, vous pouvez effacer votre edittext
la source
En XML, vous pouvez écrire comme:
et dans la classe java, vous pouvez avoir en dessous de un:
OnCreate () vous écrivez:
Ça fonctionne bien pour moi.
la source
Pour Kotlin:
Créez deux extensions, une pour EditText et une pour TextView
Éditer le texte:
Affichage:
et utilisez-le comme
la source
Vous pouvez utiliser l'attribut 'android: hint' dans votre EditText également à partir du code:
Ensuite, vous n'avez besoin d'aucun onClickListener ou similaire. Mais considérez que la valeur d'indication ne sera pas transmise. Le editText restera vide. Dans ce cas, vous pouvez définir votre editText avec votre valeur par défaut:
la source
ma fonction
la source
Si l'utilisation de EditText n'est pas obligatoire, vous pouvez facilement implémenter ce comportement avec les nouveaux composants de matériau:
Il vous suffit de spécifier le dessin de votre choix pour le bouton qui effacera le texte et l'action qu'il exécutera. Pour effacer le texte, vous pouvez utiliser iconMode = "clear_text", mais "password_toggle" est également disponible.
la source
Il est simple: déclarer les variables widget (
editText
,textView
,button
etc.) en classe , mais dans initializeonCreate
aprèssetContentView
.Le problème est que lorsque vous essayez d'accéder à un widget d'une mise en page, vous devez d'abord déclarer la mise en page. La déclaration de la mise en page est
setContentView
. Et lorsque vous initialisez la variable widget viafindViewById
vous accédezid
au widget dans la mise en page principale dans lesetContentView
.J'espère que vous l'avez!
la source
Je ne sais pas si vous recherchez celui-ci
la source