У меня это как мой пользовательский интерфейс:
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 Это то, что вывод выглядит так:
Как сделать текст видимым? я сделал что-то не так здесь? Я знаю, что все данные из моей базы данных sql есть, поскольку в записи есть данные, когда я выбираю элемент списка.