Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
变量丢失值(提要rss xamarin)_Xamarin - Fatal编程技术网

变量丢失值(提要rss xamarin)

变量丢失值(提要rss xamarin),xamarin,Xamarin,我试图让我的变量接收在提要中的搜索中找到的值,但当我检查变量是否为空时,该值正在传递,并且与列表中生成的信息相同 命令列表提要 private Command loadItemsCommand; public Command LoadItemsCommand { get { return loadItemsCommand ?? (loadItemsCommand = new Command(async () => await ExecuteLoadI

我试图让我的变量接收在提要中的搜索中找到的值,但当我检查变量是否为空时,该值正在传递,并且与列表中生成的信息相同

命令列表提要

    private Command loadItemsCommand;
    public Command LoadItemsCommand
    {
        get { return loadItemsCommand ?? (loadItemsCommand = new Command(async () => await ExecuteLoadItemsCommand())); }
    }

    private async Task ExecuteLoadItemsCommand()
    {
        if (IsBusy)
            return;

        IsBusy = true;
        var error = false;
        try
        {
            var responseString = string.Empty;
            using (var httpClient = new HttpClient())
            {
                var feed = "url feed";
                responseString = await httpClient.GetStringAsync(feed);
            }

            var items = await ParseFeed(responseString);

            foreach (var item in items)
            {
                FeedItems.Add(item);
            }
        }
        catch
        {
            error = true;
        }

        if (error)
        {
            var page = new ContentPage();
            await page.DisplayAlert("Error", "Unable to load blog.", "OK");
        }

        IsBusy = false;
    }

private async Task<List<FeedItem>> ParseFeed(string rss)
    {
        return await Task.Run(() =>
        {
            var xdoc = XDocument.Parse(rss);
            var id = 0;
            return (from item in xdoc.Descendants("item")
                    let enclosure = item.Element("enclosure")
                    where enclosure != null
                    select new FeedItem
                    {
                        Title = (string)item.Element("title"),
                        Description = (string)item.Element("description"),
                        Link = (string)item.Element("link"),
                        PublishDate = DateTime.Parse((string)item.Element("pubDate")).ToUniversalTime().ToString("dd/MM/yyyy HH:mm:ss"),
                        Category = (string)item.Element("category"),
                        Mp3Url = (string)enclosure.Attribute("url"),
                        Image = (string)enclosure.Attribute("url"),
                        Color_category = "#" + Convert.ToString(int.Parse((string)item.Element("color")), 16).PadLeft(6, '0'),
                        Id = id++
                    }).Skip(0).Take(1).ToList();
        });
    }
加载“FeedItem m=new FeedItem();teste.Text=m.Title;”我什么都不会得到

public feed()
    {
        InitializeComponent();

        BindingContext = new BlogFeedViewModel();
        ***FeedItem m = new FeedItem();
        teste.Text = m.Title;***

        listView.ItemTapped += (sender, args) =>
        {
            if (listView.SelectedItem == null)
                return;
            this.Navigation.PushAsync(new PodcastPlaybackPage(listView.SelectedItem as FeedItem));
            listView.SelectedItem = null;
        };
    }

您从未调用ParseFeed(),您只是创建了一个空的FeedItem。此命令正在运行,因为在我的列表中出现了该项,我编辑了该命令,请确保我正在调用该命令,并且必须有其他代码执行此操作。但是在你要问的两行中,你只是简单地创建了一个新对象,然后检查它的属性,而没有设置它们的值。甚至在某个地方都有错误,重新执行了这个命令,结果成功了吗
public feed()
    {
        InitializeComponent();

        BindingContext = new BlogFeedViewModel();
        ***FeedItem m = new FeedItem();
        teste.Text = m.Title;***

        listView.ItemTapped += (sender, args) =>
        {
            if (listView.SelectedItem == null)
                return;
            this.Navigation.PushAsync(new PodcastPlaybackPage(listView.SelectedItem as FeedItem));
            listView.SelectedItem = null;
        };
    }