Pourquoi ne findViewById(...) return null?

findViewById retourne null pour moi sur une ImageView widget. Il n'y a pas d'erreur, et rien dans le logcat qui indique ce qui se passe. L'id du match et à l'image de vues sont définies correctement. Java et xml sont liés par la classe de la balise xml pointant à la classe définie dans le java qui est un descendant de RelativeLayout.

J'ai essayé de changer le nom de R. id.more_icon1 et cela ne fonctionne pas. Essayé de nettoyer et cela ne fonctionne pas. Utilisé débogueur pour voir qu'il n'a vraiment il suffit de déplacer sur le passé et quand elle revient mMoreIcon == null.

Ce qui est bizarre, c'est que l'autre ImageView le travail de l'amende juste.

Personne vu ça avant, ou avez des idées?

Code Java: la Classe est un descendant de RelativeLayout

@Override
protected void onFinishInflate() {
    super.onFinishInflate();
    mText1 = (TextView) findViewById(R.id.text1);
    mText2 = (TextView) findViewById(R.id.text2);
    mIcon1 = (ImageView) findViewById(R.id.icon1);
    mIcon2 = (ImageView) findViewById(R.id.icon2);
    //mMoreIcon is the one that gets set as null. mIcon1 and mIcon2 work just fine.
    mMoreIcon = (ImageView) findViewById(R.id.more_icon1);

}

Code XML:

<ImageView android:id="@+id/icon1"
    style="@style/SuggestionIcon1"
    android:scaleType="centerInside"
    android:layout_alignParentLeft="true"
    android:layout_alignParentTop="true"
    android:layout_alignParentBottom="true"
/>

<!--     This is the icon that is being returned as null -->
<ImageView android:id="@+id/more_icon1"
    style="@style/MoreIcon2"
    android:scaleType="centerInside"
    android:layout_alignParentRight="true"
    android:layout_alignParentTop="true"
    android:layout_alignParentBottom="true"
    android:visibility="gone" />

<ImageView android:id="@+id/icon2"
    style="@style/SuggestionIcon2"
    android:scaleType="centerInside"
    android:layout_toLeftOf="@id/more_icon1"
    android:layout_alignParentTop="true"
    android:layout_alignParentBottom="true"
    android:visibility="gone" />

Grâce

Question stupide de ma part, mais avez-vous essayé de recréer la R.java fichier (supprimer à partir d'Eclipse, il sera recréé) ou en utilisant un autre nom pour le bouton? Une fois, j'ai eu le même genre de problème lors de l'utilisation de l'id avec des chiffres en eux.
Pas une question stupide, mais oui, j'ai. J'ai fait un make clean sur ce qui supprime le R.java fichier et recrée tous les fichiers générés. J'ai aussi essayé de changer le nom. Au début, c'était juste more_icon.
Hmm. Maintenant c'est un étrange. J'ai essayé de recréer votre disposition (Sauf pour la mise en page étant un descendant de RelativeLayout, mais qui ne devrait pas être un problème) et il a bien fonctionné pour moi. Je n'ai vraiment aucune idée de ce que le problème pourrait par. Il est toujours en train de nettoyer votre dossier /bin et la reconstruction du projet. Qui a résolu plusieurs problèmes inexplicables pour moi avant.
Pour moi, c'était un problème d'une mauvaise référence plus tôt, donc je n'étais pas réellement à la recherche pour le point de vue sous le droit des parents. Artefact de copier/coller le code.

OriginalL'auteur FuegoFingers | 2011-12-09