English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Quando Android ha progettato la classe View, per memorizzare alcune informazioni ausiliarie, ha progettato un metodo setTag/getTag. Questo mi ricorda che in Winform ogni Control ha anche un Tag.
Oggi voglio parlare di un problema che ho incontrato con setTag durante lo studio di Android. Di solito, è sufficiente utilizzare il metodo setTag con un singolo parametro. Ma a volte dobbiamo memorizzare più dati, quindi in questo caso dobbiamo utilizzare la versione sovraccaricata con key.
Il documento descrive: “La chiave specificata dovrebbe essere un id dichiarato nelle risorse dell'applicazione per garantire che sia unico (vedi il tipo di risorsa ID). Le chiavi identificate come appartenenti al framework Android o non associate a nessun pacchetto causano l'eccezione IllegalArgumentException.”
Ecco spiegato che è necessario garantire che la chiave sia unica, ma se definiamo la chiave utilizzando una costante java (private static final int TAG_ID = 1;) ancora incontreremo l'errore seguente:
java.lang.IllegalArgumentException: La chiave deve essere un id di risorsa specifico dell'applicazione
La soluzione corretta è:
Definisci questa costante di chiave nel res/values/strings.xml, come segue:
<resources> <item type="id" name="tag_first"></item> <item type="id" name="tag_second"></item> </resources>
Ecco come usarlo:
imageView.setTag(R.id.tag_first, "Hello"); imageView.setTag(R.id.tag_second, "Success");
Ecco la soluzione al problema del metodo key di setTag di Android, grazie per il supporto del nostro sito!
Dichiarazione: il contenuto di questo articolo è stato prelevato da Internet, il diritto d'autore spetta al proprietario originale, il contenuto è stato caricato autonomamente dagli utenti di Internet, questo sito non possiede il diritto di proprietà, non è stato editato manualmente e non assume alcuna responsabilità legale pertinente. Se trovi contenuti sospetti di violazione del copyright, è gradito inviare una e-mail a notice#oldtoolbag.com (al momento dell'invio dell'e-mail, sostituisci # con @) per segnalare il problema e fornire prove pertinenti. Una volta verificata, questo sito eliminerà immediatamente il contenuto sospetto di violazione del copyright.