Элементы списка не отображаются в xamarin - PullRequest
1 голос
/ 25 января 2020

У меня это как мой пользовательский интерфейс:

        public EditTextPage()
        {
            BackgroundImageSource = "blue_gradient1";
            this.Title = "Edit Text";

            var db = new SQLiteConnection(_dbPath);

            StackLayout stackLayout = new StackLayout();

            _listView = new ListView
            {
                // template for displaying each item.
                ItemTemplate = new DataTemplate(() =>
                {
                    Label nameLabel = new Label();
                    nameLabel.TextColor = Color.WhiteSmoke;
                    nameLabel.FontSize = 15;
                    nameLabel.SetBinding(Label.TextProperty, "Name");

                    return new ViewCell
                    {
                        View = new StackLayout
                        {
                            Padding = new Thickness(5),
                            VerticalOptions = LayoutOptions.Center,
                            Children =
                    {
                        nameLabel
                    }
                        }
                    };
                })
            };

            //_listView.SeparatorColor = Color.WhiteSmoke;
            _listView.ItemsSource = db.Table<SpeechRecTable>().OrderBy(x => x.Text).ToList();
            _listView.ItemSelected += _listView_ItemSelected;
            stackLayout.Children.Add(_listView);

            _button = new Button();
            _button.Text = "UPDATE";
            _button.BackgroundColor = Color.Coral;
            _button.TextColor = Color.WhiteSmoke;
            _button.Clicked += _button_Clicked;
            stackLayout.Children.Add(_button);

            Content = stackLayout;

Это функции:

        private void _button_Clicked(object sender, EventArgs e)
        {
            var db = new SQLiteConnection(_dbPath);
            SpeechRecTable speech = new SpeechRecTable()
            {
                Id = Convert.ToInt32(_idEntry.Text),
                Text = _textEntry.Text
            };

            db.Update(speech);
            Device.BeginInvokeOnMainThread(async () =>
            {
                var result = await this.DisplayAlert("Edit Item", "Item Successfully Updated. Do you want to edit/update another record?", "Yes", "No");

                if (!result)//left
                {
                    await Navigation.PushAsync(new HomePageX());
                }

                else//right
                {

                }
            });            
        }

        private void _listView_ItemSelected(object sender, SelectedItemChangedEventArgs e)
        {
            _speech = (SpeechRecTable)e.SelectedItem;
            _idEntry.Text = _speech.Id.ToString();
            _textEntry.Text = _speech.Text;

        }

Весь код, приведенный выше, находится только в одном файле .cs Это то, что вывод выглядит так:

enter image description here

Как сделать текст видимым? я сделал что-то не так здесь? Я знаю, что все данные из моей базы данных sql есть, поскольку в записи есть данные, когда я выбираю элемент списка.

1 Ответ

2 голосов
/ 25 января 2020

Вы должны быть уверены, что Name в SpeechRecTable является publi c свойством

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...