在按钮内获取一个空列表,单击Xamarin.Forms

时间:2019-01-30 13:09:00

标签: c# xamarin.forms

我是Xamarin和MVVM的新手。在我的应用程序中,我具有“选项卡式”页面,并且内部有两个子视图。我正在进行网络通话,并在第一个孩子的视图模型中从数据库获取数据。数据即将到来。我想将一些数据传递给第二个孩子(清单)。我能够正确传递数据。在我的第二个孩子中,我有一个按钮并调用了一个新页面。

第一个孩子的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



}

列表的数据可在我的第二个孩子的构造函数中使用(后面的代码)。

后面有第二个孩子的代码。...

 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;
    }

}

问题出现在按钮内部,单击我的列表为空。但是在构造函数内部,值正在分配。

0 个答案:

没有答案