Soru & Cevap

Windows Phone Async bir methodu construcorda çağırmak

13.04.2014 - 11:22

Basitçe şöyle izah etmek gerekirse json data mı oluşturduğum JsonDataManager classının içindeki static methodlar ile çekebiliyorum bu methodlar async ve bir problemleri yok , getWritings dediğimde bu method da async olduğu için json ın parse işlemlerini bekliyor fakat bu methodu constructor da çağırıp longlistview umun içine atmaya gelince getWritings i beklemiyor ve constructor ı async yapma şansım da yok . Öneri ve çözümlerinizi bekliyorum teşekkürler

 

[code] public partial class Page2 : PhoneApplicationPage
    {

        List<Writing> writings;

        public Page2()
        {
            InitializeComponent();
            getWritings();
            
            
        }

        private async void getWritings()
        {
            string jsonData = await JsonDataManager.GetJsonAsync("1");
            JObject obj = JObject.Parse(jsonData);
            JArray array = (JArray)obj["posts"];
     
            for (int i = 0; i < array.Count; i++)
            {
                Writing writing = new Writing();
                writing.content = JsonDataManager.JsonParse(array, i, "content");
                writing.date = JsonDataManager.JsonParse(array, i, "date");
                writing.image = JsonDataManager.JsonParse(array, i, "url");
                writing.summary = JsonDataManager.JsonParse(array, i, "excerpt");
                writing.title = JsonDataManager.JsonParse(array, i, "title");

                writings.Add(writing);
            }

            myLongList.ItemsSource = writings;
        }

}[/code]

3 Görüntülenme

1 Cevap

Sitedeki sorulara cevap verebilmek için giriş yapın ya da üye olun.

picture-472-1375079047.jpg
mehmet.altiparmak
14.04.2014 - 03:42

getWritings methodunu Page Loaded eventind ya da OnNavigatedTo methodunda çağırabilirsin. 

 

[code]

public MainPage()
{
     InitializeComponent();

Loaded += MainPage_Loaded;}

private async void MainPage_Loaded(object sender, RoutedEventArgs e)
{
}

protected override async void OnNavigatedTo(NavigationEventArgs e)
{
}

[/code]