Android: ImageView getID (); retour entier
J'ai mis en place un onTouch classe pour déterminer quand un de mes 40 touches.
Le problème, je suis confronté est de déterminer qui bouton a été pressé.
Si j'utilise:
int ID = iv.getId();
Quand je clique sur le bouton "widgetA1"
- Je recevoir l'ID suivant:
2131099684
Je voudrais revenir le string ID "widgetA1"
from:game.xml
<ImageView android:layout_margin="1dip" android:id="@+id/widgetA1" android:src="@drawable/image" android:layout_width="wrap_content" android:layout_height="wrap_content"></ImageView>
from:game.java
public boolean onTouch(View v, MotionEvent event) {
ImageView iv = (ImageView)v;
int ID = iv.getId();
String strID = new Integer(ID).toString();
Log.d(TAG,strID);
//.... etc
}
+-+-+-+-+-+-
J'ai d'autres sages fonctionne très bien, il sait ce bouton vous appuyez sur. Je suis tout à fait nouveau pour cette Android JAVA. Laissez-moi savoir si vous pouvez m'aider.
source d'informationauteur rick
Vous devez vous connecter pour publier un commentaire.
Vous ne pouvez pas obtenir que
widgetA1
chaîne...Vous trouverez toujours un entier. Mais ce nombre entier est unique à ce contrôle.de sorte que vous pouvez faire pour vérifier, qui est enfoncé
Edit - TL;DR:
Original:
Je sais, ça fait un moment depuis que vous avez posté, mais j'avais un problème similaire et je pense que j'ai trouvé une solution en regardant le Android le code source de la classe de la Vue.
J'ai remarqué que lorsque vous imprimez une Vue (implicitement appel à toString()), les données imprimées comprend la Chaîne de code utilisé dans les fichiers de mise en page (celle que vous voulez) à la place de l'entier retourné par getId(). J'ai donc regardé le code source pour Afficher la toString() pour voir comment Android a été d'obtenir cette info, et c'est en fait pas trop compliqué. Essayez ceci:
Dans le le code sourceAndroid utilise également
getResourcePackageName(id)
etgetResourceTypeName(id)
de construire la chaîne complète:Il en résulte quelque chose à l'effet de
android:id/widgetA1
.Espère que ça aide!
Xml
Src
Bien sûr, vous pouvez obtenir
widgetA1
il suffit de faire:Il devrait vous donner
your.package.name:id/widgetA1
puis faire ce que vous voulez avec cette chaîne.Nous allons obtenir la valeur de l'Entier correspondant à la vue de l'id. Pour trouver le bouton sur lequel vous cliquez, il vaut mieux utiliser des balises. vous pouvez définir la balise dans la mise en page du fichier xml et permet de comparer l'élément sur lequel vous avez cliqué à l'aide.
C'est l'exemple de l'utilisation.
je pense que vous pouvez utiliser cette
essayez
Pour la mise en œuvre, vous pouvez utiliser le soupçon d'attribut pour stocker le nom du bouton, qui est accessible. Par exemple, dans le code du bouton (.fichier xml) utiliser la ligne suivante:
Puis dans le onClicked fonction (.fichier java), écrire le code suivant pour obtenir le soupçon: