Как исправить ошибку - Android.Util.AndroidRuntimeException

Пишу приложения, в данный момент моя программа состоит из двух страниц, при переходе из главной страницы на другую при нажатии на элемент списка LisaView выходит ошибка - Android.Util.AndroidRuntimeException: Only the original thread that created a view hierarchy can touch its views. Expected: main Calling. Мне совсем непонятно как это исправить, я программировать начал недавно. Вот код основной страницы:

public partial class MainPage : ContentPage
{
    private readonly ServiceTable _ServiceTable;

    public string rr { get; set; }


    public MainPage(ServiceTable servicetable)
    {
        InitializeComponent();

        _ServiceTable = servicetable;

        Task.Run(async () => listview.ItemsSource = await _ServiceTable.PoluchenieAllZapis());


    }



    // вызов всплывающего окна, с помощью которого добовляется названия "Тематик" и после добовлении обновляется список "Тематик"
    private async void Addtematica(object sender, EventArgs e)
    {
        var rresult = DisplayPromptAsync("Напишите названия тематики", "ввод");



        if (rresult == null || string.IsNullOrWhiteSpace(await rresult) == true)
        {
            return;
        }
        else
        {
            _ServiceTable.CreatZapis(new Tablica1
            {
                Tematica = await rresult, // создаю запись в первую БД Sqlite
            });
        }
        listview.ItemsSource = await _ServiceTable.PoluchenieAllZapis(); // обновление списков Тематик
    }

    // метод отвечает за переход на страницу добавления "Тем" после нажатия на элемент из списка "Тематик"
    private async void PerehodNaTemi(object sender, EventArgs e) 
    {
        Shell.Current.GoToAsync(nameof(Temi));
                               
    }
// с помощью этого метода создается новая запись выброного элемента из списка "Тематик" в таблицу2 
    public async void OnListViewItemSelected(object sender, SelectedItemChangedEventArgs e)
    {



        var r = (Tablica1)e.SelectedItem;  // Преобразование выбранного элемента в объект нужного типа
        rr = r.Tematica;//.ToString();

        //метод для создпнии записи названии тематики для того чтоб передать её страницы для создании темы
        Task.Run(async () =>
        {
            await _ServiceTable.CreatZapis2(new Tablica2
            {
                TematicaString = r.Tematica,  // создаю запись во вторую БД
            });
        });

}



<?xml version="1.0" encoding="utf-8"?>
<ContentPage
xmlns="http://schemas.microsoft.com/dotnet/2021/maui"

xmlns:toolkit="http://schemas.microsoft.com/dotnet/2022/maui/toolkit"

xmlns:local="clr-namespace:ProgrammingLearn"

xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="ProgrammingLearn.MainPage">
<FlexLayout
    Direction="Column">
    <VerticalStackLayout
        Padding="10"
        Margin="1"
        Spacing="1">
        <Button
            x:Name="ccnopka"
            Text="Добавить тематику"
            Clicked="Addtematica" />
    </VerticalStackLayout>
    <ListView
        x:Name="listview"
        FlexLayout.Grow="1"
        ItemSelected="OnListViewItemSelected"
        ItemTapped="PerehodNaTemi"
        CachingStrategy="RetainElement">
        <ListView.ItemTemplate>
            <DataTemplate>
                <ViewCell>
                    <VerticalStackLayout
                        Padding="10">
                        <Label
                            Text="{Binding Tematica}"
                            FontSize="17"
                            FontAttributes="Bold" />
                    </VerticalStackLayout>
                </ViewCell>
            </DataTemplate>
        </ListView.ItemTemplate>
    </ListView>
</FlexLayout>

Вот код для второй страницы:

public partial class Temi : ContentPage
{
    string GET_NAME_TEMATICI { get; set; }

    private readonly ServiceTable _ServiceTable;


    public Temi(ServiceTable servicetable)
    {

        InitializeComponent();
        _ServiceTable = servicetable;

        Task.Run(async () =>
        {
            List<Tablica2> PolVsRes = new List<Tablica2>();
            PolVsRes = await _ServiceTable.PoluchenieAllZapis2();
            foreach (var q in PolVsRes)
            {
                GET_NAME_TEMATICI = q.TematicaString.ToString();
                nameTema.Text = q.TematicaString;//.ToString();
                Task.Run(async () => spisok_tem.ItemsSource = await _ServiceTable.GetPoName(GET_NAME_TEMATICI)); // выводит список Тем

            }

        });

    }

    // вызов всплывающего окна, с помощью которого добовляется названия "Темы" и после добовлении обновляется список "Тем"
    private async void AddTemaa(object sender, EventArgs e)
    {
        var rresult = DisplayPromptAsync("Напишите названия темы", "ввод");



        if (rresult == null || string.IsNullOrWhiteSpace(await rresult) == true)
        {
            return;
        }
        else
        {
            _ServiceTable.CreatZapis(new Tablica1
            {
                Tematica = GET_NAME_TEMATICI,
                Tema = await rresult,
            });
        }

        spisok_tem.ItemsSource = await _ServiceTable.GetPoName(GET_NAME_TEMATICI); // обновление список тем после ввода
    }

    private async void PerehodNaPodtemi(object sender, EventArgs e)
    {

    }

    private async void OnListViewItemSelected(object sender, EventArgs e)
    {

    }


}


<?xml version="1.0" encoding="utf-8"?>
<ContentPage
xmlns="http://schemas.microsoft.com/dotnet/2021/maui"

xmlns:toolkit="http://schemas.microsoft.com/dotnet/2022/maui/toolkit"

xmlns:local="clr-namespace:ProgrammingLearn"

xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="ProgrammingLearn.Temi">
<FlexLayout
    Direction="Column">
    <VerticalStackLayout
        Padding="10"
        Margin="1"
        Spacing="1">
        <Label
            x:Name="nameTema"
            Text="{Binding TematicaString}" />
        <Button
            x:Name="iii"
            Text="Добавить тему"
            Clicked="AddTemaa" />
    </VerticalStackLayout>
    <ListView
        x:Name="spisok_tem"
        FlexLayout.Grow="1"
        ItemTapped="PerehodNaPodtemi"
        ItemSelected="OnListViewItemSelected">
        <ListView.ItemTemplate>
            <DataTemplate>
                <ViewCell>
                    <VerticalStackLayout
                        Padding="10">
                        <Label
                            Text="{Binding Tema}"
                            FontSize="17"
                            FontAttributes="Bold" />
                    </VerticalStackLayout>
                </ViewCell>
            </DataTemplate>
        </ListView.ItemTemplate>
    </ListView>
</FlexLayout>

Ответы (0 шт):