Balayez élément de liste De la droite vers la gauche, le bouton supprimer
J'ai un custom ListView l'affichage de la liste de mots de la sélection de la base de données. Quand j'ai glisser cet élément listview je veux montrer bouton Supprimer comme l'image ci-dessous. Et lorsque j'appuie sur ce bouton, il est supprimé de la Base de données et de les actualiser la liste.
m
J'ai déjà regarder dans cet exemple de code ici. Mais il ne fonctionne toujours pas.
- Double Possible de stackoverflow.com/questions/17520750/...
- Merci Rajesh CP. Cependant, la liste de gonfler mise en page personnalisée dans l'adaptateur. Pour sûr, si nous voulons afficher/masquer le bouton de suppression, nous devons le faire dans l'Adaptateur droit? Et je me demande Comment je peux faire comme ça.
- avez-vous vérifié la réponse de @luciano rodriguez?
- En fait, je ne veux pas de la bibliothèque parce que je pense que ce problème n'est pas si difficile à mettre en œuvre, mais je ne sais pas comment le faire.
- Je pense que le nombre de code n'est pas beaucoup, mais je ne connais pas le point de départ.
Vous devez vous connecter pour publier un commentaire.
EDIT:
entre autres options, il y a une belle bibliothèque qui pourrait résoudre votre problème:
https://github.com/daimajia/AndroidSwipeLayout
j'ai cherché sur google un lot et de trouver la mieux adaptée projet est le swipmenulistview https://github.com/baoyongzhang/SwipeMenuListView sur github.
J'ai utilisé le même problème pour trouver une bonne librairie pour le faire. Finalement, j'ai créé une bibliothèque qui peut le faire: SwipeRevealLayout
Dans gradle fichier:
Dans votre fichier xml:
Puis dans votre carte fichier:
J'avais créé un démo sur mon github qui comprend sur le balayage de droite à gauche un bouton supprimer apparaît et vous pouvez la supprimer de votre élément de la liste et de mettre à jour votre Liste.
Je viens juste de son travail à l'aide de la ViewSwitcher dans un ListItem.
list_item.xml:
Dans le ListAdapter:
Mettre en œuvre OnclickListeners pour le Modifier et le bouton Supprimer dans la getView() la méthode. Le piège ici est d'obtenir la position de la ListItem cliqué à l'intérieur de la onClick méthodes. setTag() et getTag() sont les méthodes utilisées pour cela.
Dans le Fragment,
Ajouter un Geste Auditeur de détecter les Fling Geste:
Dans le onCreateView méthode du Fragment,
Cela a fonctionné pour moi. Devrait affiner davantage.
voir là le lien était très agréable et simple. sa fonctionne bien...
u ne veux pas de la bibliothèque de son travail très bien. cliquez sur ici
Une application est disponible qui montre une listview qui combine à la fois le balayage à supprimer et faites glisser pour réorganiser les éléments. Le code est basé sur Chet Haase du code de balayage à supprimer et Daniel Olshansky du code pour le déplacement à réorganiser.
Chet du code supprime un élément immédiatement. J'ai amélioré sur ce en le faisant fonctionner plus comme Gmail où le balayage révèle une vue du dessous qui indique que l'élément est supprimé, mais fournit un bouton d'Annulation de l'endroit où l'utilisateur a la possibilité d'annuler la suppression. Chet du code a également un bug. Si vous avez moins d'items dans la liste que la hauteur de la listview est et vous supprimer le dernier élément, le dernier élément semble pas être supprimé. Ceci a été corrigé dans mon code.
Daniel code nécessite en appuyant longtemps sur un élément. De nombreux utilisateurs trouvent que c'est pas intuitive car il tend à être une fonction cachée. Au lieu de cela, j'ai modifié le code pour permettre un bouton "Déplacer". Vous appuyez simplement sur le bouton et faites glisser l'élément. Ce n'est plus en ligne avec la façon dont Google Actualités application fonctionne lorsque vous réorganisez des sujets d'actualité.
Le code source avec une démo application est disponible à:
https://github.com/JohannBlake/ListViewOrderAndSwipe
Chet et Daniel sont à la fois de Google.
Chet vidéo sur la suppression d'éléments peut être consulté à:
https://www.youtube.com/watch?v=YCHNAi9kJI4
Daniel vidéo sur la réorganisation des éléments peut être consulté à:
https://www.youtube.com/watch?v=_BZIvjMgH-Q
Une quantité considérable de travail est allé dans le collage de tout cela ensemble pour fournir un sans heurt de l'INTERFACE utilisateur de l'expérience, donc j'apprécierais un Comme ou Vote. Veuillez également en vedette le projet sur Github.
Définir un ViewPager dans votre mise en page .xml:
Et puis, dans votre activité /fragment, personnaliser le pager de l'adaptateur:
Dans une activité:
Dans un fragment:
Créer notre coutume pager classe:
C'est une perte de temps pour mettre en œuvre à partir de zéro cette fonctionnalité.
J'ai mis en place la bibliothèque recommandé par SalutonMondo et j'en suis très satisfait.
Il est très simple à utiliser et très rapide.
J'ai amélioré la bibliothèque d'origine, et j'ai ajouté un nouvel écouteur de clics pour l'élément, cliquez sur.
Aussi j'ai ajouté de la police génial bibliothèque (http://fortawesome.github.io/Font-Awesome/) et maintenant vous pouvez simplement ajouter un nouvel élément de titre et de spécifier le nom de l'icône de la police génial.
Ici est le lien github
Je suis allé à travers des tonnes de bibliothèques tierces pour essayer d'y parvenir. Mais aucun d'eux ne présente de douceur et de convivialité de l'expérience que j'ai voulu. Alors j'ai décidé d'écrire moi-même. Et le résultat a été , eh bien, je l'ai aimé. Je vais partager le code ici. Peut-être que je vais l'écrire comme une bibliothèque qui peut être intégré dans tout recycleur vue dans l'avenir. Mais pour l'instant voici le code.
Note: j'ai utilise recycleur de vue et ViewHolder. Certaines valeurs sont codées en dur afin de les modifier selon vos besoins.
row_layout.xml
ChatAdaptor.java
public class ChatAdaptor s'étend RecyclerView.Adaptateur {
Espère que cela aide quelqu'un!!