gogui63 Posté(e) 10 octobre 2013 Share Posté(e) 10 octobre 2013 Bonjour, encore un nouveau sujet désolé je débute et puisque j'essaie d'apprendre tout seul, c'est pas facile ... J'aimerais ajouter une gestion de favoris dans mon application mais impossible de trouver de la doc la dessus, même en anglais, j'ai pourtant cherché avant de poster mais rien de concluant ... Je viens donc à nouveau faire appel à vous ;-) Comment puis je gérer des favoris ? Dans la pratique (dans mon application) il s'agit d'ajouter des imageview en favoris. Lien vers le commentaire Partager sur d’autres sites More sharing options...
elmarco06 Posté(e) 11 octobre 2013 Share Posté(e) 11 octobre 2013 bonjour, je ne comprends pas trop ce que tu souhaites faire. Tu as une liste d'imageview et tu veux pouvoir en flagguer certaines en favories pour qu'elles apparaissent dans une liste dédiée ou qu'elles soient mises en avant par rapport aux autres ? si oui, j'ai eu un problème du genre à gérer une fois. En fait pour moi il s'agissait d'une liste d'articles (articles en base), l'utilisateur parcours les articles et quand il en voit un qui l'intéresse il peut le mettre en favori (boolean en base). quand il revient sur l'appli il peut au choix naviguer dans tous les articles ou au contraire n'accéder qu'à ses favoris. Seul ma requête en base change. voir si tu peux adapter cela à ton appli Marc Lien vers le commentaire Partager sur d’autres sites More sharing options...
gogui63 Posté(e) 11 octobre 2013 Auteur Share Posté(e) 11 octobre 2013 Pour être encore plus précis voila mon appli : https://play.google.com/store/apps/details?id=firstapp.gtav&hl=fr et j'aimerais que l'utilisateur puisse ajouter certains codes en favoris en faisant un longClick sur la ligne de code ou avec une petite étoile à coté. Lien vers le commentaire Partager sur d’autres sites More sharing options...
Vbarthel Posté(e) 11 octobre 2013 Share Posté(e) 11 octobre 2013 Si je comprends bien tu souhaiterais sauvegarder des données sur l'utilisateur, en l’occurrence ses favoris. Il va falloir que tu regardes du côté du "Data storage"! Si c'était moi, j'utiliserais les "SharedPreferences" pour stocker un booléen pour chacun de tes codes, qui signale si le code est en "favoris" ou non. Un petit lien avec un bel exemple d'utilisation des "SharedPrerences" http://developer.android.com/guide/topics/data/data-storage.html#pref Avec ça tu devrais pouvoir t'en sortir. Si tu as plus de question, n'hésites pas ! Lien vers le commentaire Partager sur d’autres sites More sharing options...
gogui63 Posté(e) 21 octobre 2013 Auteur Share Posté(e) 21 octobre 2013 Re, j'ai réussi à faire le onclick, mais je n'arrive pas bien à mettre en place le sharedPreference. Je dois récupérer tout mes tablelayout ? TableLayout code1 = (TableLayout) findViewById((R.id.code1)); Et après je fais un switch / case en fonction du tablayout cliqué ? @Override public void onClick(View v){ switch(v.getId()){ case(R.id.code1): AlertDialog.Builder alert = new AlertDialog.Builder(Vehicules.this); alert.setTitle("Favoris"); alert.setMessage("Ajouter ce code aux favoris ?"); //alert.setIcon(R.drawable.icon); alert.setPositiveButton("Oui", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int id) { //Creating Instance of SharedPreferences SharedPreferences sp = getSharedPreferences(MY_PREF, 0); //Getting the Editor SharedPreferences.Editor edit = sp.edit(); //Modifying Editor edit.putBoolean("code1",true); //Save the Editor value edit.commit(); } }); alert.setNegativeButton("Annuler",null); alert.show(); } Merci encore de m'aider ;) Lien vers le commentaire Partager sur d’autres sites More sharing options...
chpil Posté(e) 23 octobre 2013 Share Posté(e) 23 octobre 2013 Bonjour, Le switch/case me paraît un peu "too much", tu vas te retrouver avec du code dupliqué à foison; tu peux facilement factoriser le code d'enregistrement d'un favori, la seule partie variable étant l'id du layout sélectionné... Lien vers le commentaire Partager sur d’autres sites More sharing options...
gogui63 Posté(e) 23 octobre 2013 Auteur Share Posté(e) 23 octobre 2013 En effet , pour le switch case ça va me faire beaucoup de code , mais au niveau du shared préférence je ne vois pas comment faire ... J'ai essayé comme si dessus mais ça ne fonctionne pas . Je ne vois pas trop plus comment le reafficher dans mon activity "favoris" . Merci ;-) Lien vers le commentaire Partager sur d’autres sites More sharing options...
chpil Posté(e) 23 octobre 2013 Share Posté(e) 23 octobre 2013 Pour l'enregistrement dans le SharedPreference, tu peux faire quelque chose comme ça (dans le listener de validation) SharedPreferences sp = getSharedPreferences(MY_PREF, 0); SharedPreferences.Editor edit = sp.edit(); sp.putBoolean(getResources().getResourceEntryName(v.getId()), true); sp.commit(); Si tu enregistres ce listener pour chacun de tes layouts, cela enregistrera un boolean dans le SharedPreferences sous la clef correspondant au nom de l'id du layout; et ce, sans avoir à dupliquer ton code pour chaque layout Lien vers le commentaire Partager sur d’autres sites More sharing options...
Recommended Posts
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.