0
votes

Comment puis-je ajouter des éléments à une observatoire d'une autre liste de liste

Bonjour, je suis un débutant avec des formes xamarin et avez besoin d'aide. J'ai essayé de chercher cette méthode partout.

J'ai une vue de liste avec beaucoup de noms d'animaux. Lorsqu'un élément est cliqué, il affiche plus d'informations sur cet animal particulier. J'ai ajouté un bouton sur chaque page d'informations d'animaux. Je voudrais cliquer sur ce bouton "Ajouter", qui ajouterait ensuite le nom de l'animal à une autre vue de la liste.

mais je suis coincé sur la façon de faire cela, toute aide serait grandement appréciée. < / p>

Il s'agit de la première page de liste du code derrière xxx

ceci est la page de contenu de ce code derrière xxx

Lorsque l'élément est cliqué sur la liste, il affiche cette information dans une page séparée Le contenu xxx

Voici ce que j'ai fait. Je sais que le fichierwreealltext fait un nouveau fichier à chaque fois. Comment puis-je simplement ajouter à ce fichier afin qu'un nouveau fichier n'est pas créé? xxx

donc cela fonctionne lorsque je peuplé la vue de la liste, mais ce sera une lettre par ligne et non la chaîne entière d'une ligne xxx


6 commentaires

Vous devez nous montrer votre code actuel, ne pas nous donner une description vague. Sont tous les deux de thse listeViews sur la même page? Ou des pages différentes? Veuillez lire exemple de reproductible minimal et Comment demander


Désolé je suis nouveau à cela. Ils sont sur différentes pages. joindre du code ci-dessous


pas encore. Toujours en difficulté avec ça :(


Vous pouvez vérifier ci-dessous, l'utilisation est approximativement comme suit.


Avez-vous essayé d'utiliser MessagingCenter?


Reportez-vous à ma mise à jour sur noisettes et mybirdlist . C'est ce que j'ai fait maintenant besoin d'une certaine aide. Merci


4 Réponses :



0
votes

Voici ce que j'ai fait. Je devais changer un peu. Le nom d'oiseau ajouté doit aller à une liste vierge. J'ai donc créé une nouvelle collection observable ici. Et c'est là que doit être ajouté le nom d'oiseau. XXX PRE>

Ensuite, l'expéditeur est où j'ai des problèmes. Et ne peut pas comprendre comment envoyer le nom d'oiseau. P>

    public partial class BirdPages : ContentPage
    {
        public BirdPages(string BirdNames, Button BirdSelect)
        {
            InitializeComponent();

            BirdNameCall.Text = BirdNames;
            AddToList = BirdSelect;
        }

        private void AddToList_Clicked(object sender, EventArgs e)
        {
            birdlistmodel bird = xxx// this is what i don't understand, what should be added here 
            MessagingCenter.Send<BirdListAZ, birdlistmodel>(this, "Add", bird );
        }
    }
}


0 commentaires

0
votes

OK, je n'ai donc pas mis en œuvre cela, je n'ai aucune erreur, mais cela ne fonctionne pas. C'est ce que le code ressemble maintenant. La page d'envoi: xxx pré>

ceci est la page d'abonnement: p> xxx pré>

in xamarin pour la page d'envoi: p>

             x:Class="AppSFari.Kwandwe_Pakage.Lists.myBirdList">
    <ContentPage.Content>
        <StackLayout>
            <ListView x:Name="birdlistview" ItemsSource="{Binding birdlist}" BackgroundColor ="AliceBlue" HasUnevenRows="True">
            
            </ListView>
        </StackLayout>
    </ContentPage.Content>
</ContentPage>


15 commentaires

Comme vous avez défini BIRDLISTVIEW.ITEMSSOURCE = BIRDLIST; Dans vos codes derrière, vous n'avez pas besoin de liant itemsSource = "{liant lalist}} dans xaml, supprimez-le.


Ça a du sens. Ok je l'ai supprimé. La liste est toujours vide après que je clique sur le bouton pour ajouter.


Vous pouvez faire un point d'arrêt pour voir si l'appel de messagerieCenter.Subscribe et vous obtenez le nom de l'oiseau.


Donc, il ajoute mais alors le comte va à 0 à nouveau. Si je continue à ajouter que le comte monte. Mais dès que «N entrez dans la listeView, le comte va à 0 et tous les oiseaux que j'ai ajoutés sont partis.


Avez-vous créé la page MyBirdList à chaque fois? Pourriez-vous partager le projet si possible?


Non seulement une fois. Je peux le partager mais c'est plutôt grand?


Puis-je mettre en place toutes les pages qui sont utilisées jusqu'à ce que la liste de liste soit affichée?


Vous pouvez essayer de faire la page MyBirdList en tant que page Singleton.


Comment cela fonctionnerait-il? Désolé j'ai essayé de relire cela mais je ne sais pas comment la mettre en œuvre.


Vous pouvez vous référer à Ceci , modifier la classe sur votre page.


Merci pour cela. Serait-ce une nouvelle classe ou est-ce que je l'utilise dans le code de mon page derrière?


Changez simplement votre page en un singleton dans votre code derrière.


Toujours ne fonctionne pas. Pensez-vous que je peux créer un fichier en .txt et écrivez-y lorsque vous avez cliqué sur le bouton et lire dans une liste de liste dans mon birdlistpage? Ou utilisez SQLite?


Le moyen le plus simple, vous pouvez le faire en tant que propriété statique globale ou Propriétés Dictionnaire


Il est indiqué "Le dictionnaire des propriétés ne peut que Serialiser des types primitifs pour le stockage. Tentative de stocker d'autres types (tels que la liste ) peut échouer en silence." alors je ne sais pas si cela fonctionnera. Pouvez-vous consulter ma mise à jour en haut et donner des conseils concernant l'utilisation de Xamarin.Essentielles et de stockage local.



0
votes

Ok alors je l'ai eu pour travailler dans une certaine mesure. Je ne crée pas et n'écrivez pas à un fichier TXT, puis en le lisant dans la page MyBirdList. C'est là que j'écris au fichier texte xxx

puis j'ai lu dans une liste. La dernière question que j'ai est de savoir comment puis-je lire chaque nom dans une robe. Maintenant, tous les oiseaux ajoutés s'affichent dans une étiquette. Et est-il possible de ne pas dupliquer un nom? Voici le code xxx


1 commentaires

Vous pouvez le marquer comme une solution.Il peut aider les autres.