Quantcast
Channel: Recent Threads — Xamarin Community Forums
Viewing all articles
Browse latest Browse all 204402

Getting a empty list inside a button click Xamarin.Forms

$
0
0

I am new to Xamarin and MVVM. In my application I have Tabbed page and I have two child views inside. I am making a network call and getting data from databse in my first child's view model. Data is coming. I wanted to pass some data to my second child(List). I was able to pass data correctly. Inside my second child, I have a button and calling a new Page.

First child's ViewModel...

public async Task getFypDataAsync(string accessToken)
{

    fypFullList = await _apiServices.GetFypData(accessToken);

    fypFullList.Sort((x, y) => x.rank.CompareTo(y.rank));


    fypSendList.AddRange(new List<FypRankData>(fypFullList.GetRange(0, 320)));

    new HomeTab2(fypSendList); // send data to second child

}

List's data is available inside my second child's constructor (code behind).

Second child's code behind....

public partial class HomeTab2 : ContentPage
    {

        bool _istapped = false;
        public List<FypRankData> mylist = new List<FypRankData>();

        public HomeTab2()
        {

            InitializeComponent();

            BindingContext = new HomeTabVM2();

            var vm = BindingContext as HomeTabVM2;
            vm.setFypData();

        }

        public HomeTab2(List<FypRankData> fypSendList)
        {

            mylist = fypSendList;
            Debug.WriteLine(fypSendList.Count.ToString(), " list_yyycount ");

        }

    private async void Btn1_Clicked(object sender, EventArgs e)
    {
        if (_istapped)
            return;

        _istapped = true;

        await Navigation.PushAsync(new ChartPage(mylist));

        _istapped = false;
    }

}

Problem is inside the button click mylist is getting empty. But inside the constructor, value is assigning.


Viewing all articles
Browse latest Browse all 204402

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>