2012-11-09 4 views
3

Quelle est la signification de (EditText) dans l'extrait suivant?Difficulté à comprendre le code java en android

EditText editText = (EditText) findViewById(R.id.edit_message); 

Je comprends que c'est la déclaration d'une nouvelle instance de EditText classe ...

Mais je suis perplexe avec la partie (EditText)? Qu'est-ce que ça veut dire ?

+0

C'est un casting de classe. réviser vos concepts Java avant de passer à Android, cela vous facilitera la tâche. – Orlymee

Répondre

2

La méthode findViewById retourne un View objet et pour en faire un objet EditText qu'il représente, vous devez le convertir de cette façon. Vous voulez vraiment travailler avec instance de EditText et non View afin que vous puissiez avoir accès à des propriétés spécifiques de EditText

EditText editText = findViewById(R.id.edit_message); 

Le code ci-dessus ne sera pas valide EditText et View ne sont pas les mêmes, il faut être casté/converti.

2

Il s'agit d'une distribution de classe explicite: l'objet View générique renvoyé par findViewById() est converti/converti en objet EditText.

(EditText) findViewById(R.id.edit_message); 
2

EditText est une classe androïde qui représente un champ d'édition sur le Ui de votre application. Dans le cas présent, il semble que vous ayez défini un champ edittext dans le xml de votre activité et vous obtenez maintenant une référence pour que vous puissiez interagir avec lui en utilisant les méthodes de la classe.

Vous pouvez voir tout ce que vous pouvez faire avec: Android Developer: EditText

Si vous ne l'avez pas jeté à un EditText vous ne pourrez gérer comme une Voir Android Developer: View

Questions connexes