web-dev-qa-db-fra.com

Android ID de ressource

Je récupère des ID de ressource personnalisés à partir d'un type de vue xml personnalisé. On me demande de spécifier une valeur int par défaut pour la récupération et je me demandais quelle est la plage d'ID? Sont-ils toujours positifs ou incluent-ils zéro?

c'est-à-dire que -1 est une référence "nulle" valide ET/OU est 0 une référence "nulle" valide?

Merci

MODIFIER

Fichier de ressources/d'attributs XML personnalisé

<resources>
    <declare-styleable name="ToggleImageButton">
        <attr name="onImage" format="integer" />
        <attr name="offImage" format="integer" />
    </declare-styleable>
</resources>

Défini dans mon constructeur pour mon interface utilisateur personnalisée

TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.ToggleImageButton);

int offResource = a.getInt(R.styleable.ToggleImageButton_offImage, -1);

Fondamentalement, le -1 à la fin de la 2e ligne est le paramètre par défaut pour ce type de données. Il peut ou non être initialisé dans la vue XML lors du développement et cela permet de spécifier le comportement par défaut de cette façon.

50
Kurru

Selon la documentation, Resources.getIdentifier()

Renvoie 0 si aucune ressource de ce type n'a été trouvée. (0 n'est pas un ID de ressource valide.)

vous pouvez donc utiliser 0.

79
Ewoks

0 est une valeur nulle/non valide pour un ID de ressource.

9
adamp