Pourquoi utiliser Button de cette façon pour initialiser.android Button:
b1 = (Bouton) findViewById (R.id.bEdit1);
Et pourquoi nous utilisons (Button) avant findViewById.
Merci
Pourquoi utiliser Button de cette façon pour initialiser.android Button:
b1 = (Bouton) findViewById (R.id.bEdit1);
Et pourquoi nous utilisons (Button) avant findViewById.
Merci
C'est parce que findViewById
est déclarée renvoie un View
. Vous devez réduire la valeur de retour pour l'affecter à une variable Button
. (Je suppose à partir du code que vous avez publié que b1
est déclaré être un Button
.)
Notez que si bEdit1
ne correspond pas à un Button
dans la hiérarchie de vue, cela va générer un ClassCastException
. Cela devrait être quelque chose que vous attrapez pendant le développement.
findviewbyId provient de la classe view qui est la classe parente. et Button est une sous-classe? suis-je rite? –
@lizajohn - Oui. 'findViewById' renvoie un objet qui est soit un' View' ou une sous-classe de 'View', selon la façon dont le XML est déclaré (ou comment la hiérarchie de vue a été construite). 'Button' est une sous-classe de' View'. –
merci merci .... –
(R.id.bEdit1)
est un entier qui est déclaré dans R.java
Fichier de sorte que nous devons l'intégrer à Button pour obtenir la référence de celui-ci.
R.java
Le fichier contient toutes les déclarations de variables d'application.
Les vues peuvent être associées à un identifiant entier. Ces identifiants sont généralement attribués dans les fichiers XML de mise en page et sont utilisés pour rechercher des vues spécifiques dans l'arborescence de vues. Un modèle commun est de:
Define a Button in the layout file and assign it a unique ID.
<Button
android:id="@+id/bEdit1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/my_button_text"/>
De la méthode onCreate d'une activité, trouver le bouton
Button myButton = (Button) findViewById(R.id.bEdit1);
Voir ID ne doivent pas être unique dans l'arbre, mais il est bon de veiller à ce qu'ils sont au moins uniques dans la partie de l'arbre que vous recherchez.
merci. je l'ai –
Tout en travaillant avec Java
nous faisons quelque chose comme ça
JButton mbutt = new JButton("Click_Me");
Dans le code ci-dessus nous sommes Creating
et Assigning
un objet de type JButton
à Objet de référence variable de type JButton
.
Alors que nous travaillons avec Android
nous faisons quelque chose comme ça
Button b1 = (Button) findViewById(R.id.bEdit1);
Ici nous avons déjà créé le Button
en utilisant le XML
, et est maintenant se référant à cetteButton object
utilisant l'instruction ci-dessus.
(Button)
est un transtypage explicite fait à partir du type View
type Button
. Ce que nous obtenons de findViewById est une vue, maintenant nous devons mentionner spécifiquement quelle sorte de vue c'est, ici son bouton.
Signature du findViewById ressemble
public final View findViewById (int id)
Quelle sera, cherchez une vue enfant avec l'identifiant donné. Si cette vue a l'ID donné, renvoyez cette vue.
final Button b1;
findViewById (R.id.bEdit1); Maintenant, il va chercher une vue basée sur l'ID bEdit1
et vous renvoyer la vue maintenant votre travail est de le cust dans une vue appropriée. qui est comme nous le faisons comme
b1 = (Button)findViewById(R.id.bEdit1);
d'abord apprendre Java pour jeter l'objet. – Dharmendra