Bonjour, j'avais un peu de mal avec le code suivant ci-dessous et j'ai obtenu une solution à partir d'une réponse cochée dans ce lien. J'aimerais savoir pourquoi.ClassCastException Explication
Remarque: j'avais un type de mise en page similaire à celui de la question, mais avec un seul TextView.
mon code ci-dessous:
public void onItemClick(AdapterView<?> av, View v, int position, long id) {
blueadapter.cancelDiscovery();
String info = ((TextView) v).getText().toString(); //classcastException here
String Bluetooth_address = info.substring(info.length()-17);
}
donc de sa solution, si je change cela à ce
String info = ((TextView) v.findViewById(R.id.search_device_id)).getText().toString();
il résout mon problème de ClassCastException.
Maintenant s'il vous plaît quelqu'un peut m'expliquer gentiment ou me diriger vers la bonne direction, ce qu'il voulait dire par dans la réponse "Vous recevez l'ensemble LinearLayout comme paramètre v. Vous devriez essayer v.findViewById() et ensuite utiliser ce textview. " c'est gentil il résout mon problème, mais je voudrais comprendre pourquoi je devais faire cela? .. J'ai eu affaire avec ListViews avant, mais je ne suis pas tombé sur ceci, donc c'est un peu étrange pour moi. Je vous remercie.
Avez-vous une disposition similaire pour vos éléments de liste? – Ronnie