10
votes

Actionbarsherlock: OnOptionsItemselligue ne reconnaît pas r.id.home

J'utilise la bibliothèque Actionbarsherlock et je suive les étapes exactes comme suggérées ici et ici pour activer la navigation de l'écran précédent.

Mon code ressemble à ceci:

GetsUppPortageBar (). SetDisplayHomesuSuPenableD (true);

XXX

mais r.id.home n'est pas reconnu et que la maison se présente en rouge. : / Si j'utilise la barre d'action native, la déclaration d'accueil me prend au fichier ids.xml. Mais ici, la déclaration n'est pas trouvée pendant que j'utilise l'activité ActionbarSherlock. Est-ce que je manque quelque chose?


0 commentaires

3 Réponses :


1
votes

Je me souviens de courir dans ce problème et apparemment son assez fréquent sur Google ou une recherche à travers la pile Overflow aurait dû vous donner une idée de toute façon, vérifiez ce fil sur r ne peut pas être résolu - erreur android Je suis à peu près sûr que vous courez dans le même problème


1 commentaires

Brendan - Mon problème n'est pas avec l'erreur R. Cela concerne la bibliothèque ActionbarSherlock. Essayez d'être plus précis avec vos réponses. :) Juste une suggestion. Merci quand même.



12
votes

Il suffit de remplacer ce xxx

à xxx

et vérifiez votre code ... exécutez-le

parce que

r.layout. * sont des présentions que vous fournissez (en résolution / mise en page, par exemple).

android.r.layout. * sont des mises en page qui expédient avec le SDK Android.


5 commentaires

Cela m'a donné une suggestion comme R.ID.HomesUP, j'ai choisi cela et il a sauvé. Je vais mettre à jour ce fil une fois que je découvre si cela fonctionne.


Je crains que ce ne soit pas la bonne réponse. android.r.id.home va bien. Je soupçonne que la Minssdkversion est trop basse. Devrait être 11 ou plus.


@Frank: Si vous avez utilisé Actionbarsharelock, alors Min SDK est 8. Ai-je raison?


Selon les docs Android, android.r.id.home a été introduit en 3.0. Peut-être que je manque quelque chose.


Merci. Vous voulez dire que le R.Id.Home est défini dans ActionbarcherLock?



7
votes

Je sais que c'est une vieille question mais je crois que la bonne réponse est manquante.

Il devrait être être android.r.id.home car il s'agit d'une ressource de plate-forme, votre code va donc bien.

Assurez-vous que votre MINSDKVersion a 11 ans ou plus depuis que HOME a été introduit en 11.


0 commentaires