Réponses:
Le point d'interrogation signifie qu'il s'agit d'une référence à une valeur de ressource dans le thème actuellement appliqué. Pour en savoir plus, consultez le guide de développement Android de linuxtopia ou le guide de développement android.com .
\?
échappe au point d'interrogation.
Le ? vous permet de faire référence à un attribut de style au lieu d'un ressource codée en dur . Voir «Référencement des attributs de style» dans le Guide de développement Android pour plus de détails.
Alors, comment est-ce vraiment utile? Cela a le plus de sens quand on considère plusieurs thèmes contenant le même attribut de ressource personnalisé .
Supposons que vous ayez des thèmes liés aux films tels que MyThemeTransformers et MyThemeHobbit, et que les deux aient un attribut appelé movieIcon . Et cet attribut movieIcon pointe vers une ressource @drawable différente, par exemple robot.png ou hobbit.png, dans chaque définition de thème.
Vous pouvez faire référence à " ? Attr / movieIcon " partout où le thème est en vigueur (comme dans une barre d'outils ou une boîte de dialogue ou n'importe quel type de disposition de vue), et il pointera automatiquement vers le dessinable correct lorsque vous basculerez entre les thèmes. Vous n'avez besoin d'aucune logique dépendante du thème pour utiliser les différents drawables. Vous définissez simplement l'attribut movieIcon pour chaque thème et le framework Android s'occupe du reste.