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. P>
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 p> ceci est la page de contenu de ce code derrière p> Lorsque l'élément est cliqué sur la liste, il affiche cette information dans une page séparée
Le contenu p> 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éé? p> 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 p>
4 Réponses :
Je n'arrive tout simplement pas d'avoir ce droit. où vous avez spécifié "BIRDLISTMODEL BIRD = XXX; // C'est ce que vous voulez ajouter à la liste" Je veux que les noms d'oiseaux soient ajoutés, mais je ne peux pas le faire fonctionner.
Vous pouvez vérifier la mise à jour, si vous souhaitez ajouter NameName (type de chaîne), vous avez juste besoin de modification BIRDLISTModel Bird = XXX code> à
String BirdNames Code> et Modifier
MessagingCenter. Envoyer
MessagingCenter.Subscribe
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. 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 );
}
}
}
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: ceci est la page d'abonnement: p> 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>
Comme vous avez défini BIRDLISTVIEW.ITEMSSOURCE = BIRDLIST; CODE> Dans vos codes derrière, vous n'avez pas besoin de liant
itemsSource = "{liant lalist}} code> 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
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 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 p>
Vous pouvez le marquer comme une solution.Il peut aider les autres.
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 code> et
mybirdlist code>. C'est ce que j'ai fait maintenant besoin d'une certaine aide. Merci