English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Soluzione al problema della chiave del metodo setTag in Android

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.

Ti potrebbe interessare