J'ai créé une vue de liste dans une classe et j'ai appelé la méthode delete d'une autre classe. Listview reçoit l'appel mais ne met pas à jour la vue de liste si j'appelle d'une autre classe. Mais sa mise à jour lorsque j'appelle à l'intérieur de la même classe. Comment résoudre ce problème?Comment mettre à jour la vue liste d'une autre classe dans les formulaires Xamarin?
namespace New
{
public partial class WishesPage : ContentPage
{
ListView listView = new ListView();
public WishesPage()
{
InitializeComponent();
var arr = JToken.Parse(ids);
foreach (var ite in arr.Children())
{
var itemProperties = ite.Children<JProperty>();
string contactElement = itemProperties.FirstOrDefault(x => x.Name == "contact").Value.ToString();
sample.Add(contactElement);
}
listView.ItemTemplate = new DataTemplate(typeof(CustomListCell));
listView.ItemsSource = sample;
Content = new StackLayout
{
Children =
{
listView,
}
};
}
public async Task delete(string wishid)
{
indicator.IsRunning = true;
var client = new HttpClient();
client.BaseAddress = new Uri("http:……”);
if (response == "success")
{
listView.ItemsSource = null;
listView.ItemsSource = sample;
}
}
}
public class CustomListCell : ViewCell
{
public CustomListCell()
{
wishIdLabel.SetBinding(Label.TextProperty, new Binding("contact"));
horizontalLayout.Children.Add(wishIdLabel);
var deleteAction = new MenuItem { Text = "Delete", IsDestructive = true };
deleteAction.Clicked += async (sender, e) =>
{
WishesPage wishes = new WishesPage();
wishes.delete(wishId);
};
ContextActions.Add(deleteAction);
}
}
}
Qu'est-ce que "sample"? –
C'est un tableau d'éléments. J'ai créé en utilisant la classe Modal. Like (sample = new ObservableCollection();) –
Jeni
Je ne comprends pas pourquoi vous créez une autre WishesPage dans deleteAction.Clicked ... WishesPage wishes = new WishesPage(); wishes.delete (wishId); –