Size: a a a

Xamarin Developers (MAUI, Forms, iOS, Android, UWP)

2021 May 06

СГ

Степан Гончаров... in Xamarin Developers (MAUI, Forms, iOS, Android, UWP)
т.е. вот функция загрузки фрагмента
void LoadFragment(int id)
{
   Android.Support.V4.App.Fragment fragment = null;
   switch (id)
   {
       case Resource.Id.navigation_chats:
           fragment = Fragment1.NewInstance();
           break;
       case Resource.Id.navigation_user:
           fragment = Fragment2.NewInstance();
           break;
       case Resource.Id.navigation_users:
           fragment = Fragment3.NewInstance();
           break;
   }

   if (fragment == null)
       return;

   SupportFragmentManager.BeginTransaction()
       .Replace(Resource.Id.container, fragment)
       .Commit();
}
источник

СГ

Степан Гончаров... in Xamarin Developers (MAUI, Forms, iOS, Android, UWP)
источник

СГ

Степан Гончаров... in Xamarin Developers (MAUI, Forms, iOS, Android, UWP)
я так понял его нужно наполнить на каком-то определенном состоянии
источник

VK

Vlad Khasenevich in Xamarin Developers (MAUI, Forms, iOS, Android, UWP)
ну так создайте класс, наследующийся от Android.Support.V4.App.Fragment
создайте xml файл в layouts, чтобы установить контент фрагмента в методе OnCreateView
источник

СГ

Степан Гончаров... in Xamarin Developers (MAUI, Forms, iOS, Android, UWP)
у меня такой кусок есть
но я не понял как тут работать с ним
 public override View OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
       {
           var ignored = base.OnCreateView(inflater, container, savedInstanceState);
           return inflater.Inflate(Resource.Layout.fragment1, null);
       }
источник

СГ

Степан Гончаров... in Xamarin Developers (MAUI, Forms, iOS, Android, UWP)
inflater.Inflate - это вот чего такое
источник

VK

Vlad Khasenevich in Xamarin Developers (MAUI, Forms, iOS, Android, UWP)
Класс помогающий создать из xml View
http://developer.alexanderklimov.ru/android/theory/layoutinflater.php
источник

СГ

Степан Гончаров... in Xamarin Developers (MAUI, Forms, iOS, Android, UWP)
т.е.
я могу присвоить значению что вернул класс
и уже в него добавлять новые элементы?
источник

VK

Vlad Khasenevich in Xamarin Developers (MAUI, Forms, iOS, Android, UWP)
Ну да
Ток зачем в него добавлять, если вы можете их описать в xml и через view.FindViewById найти их?
источник

СГ

Степан Гончаров... in Xamarin Developers (MAUI, Forms, iOS, Android, UWP)
да там особо нечего искать
там будет много маленьких элементов
список пользователей например
источник

VK

Vlad Khasenevich in Xamarin Developers (MAUI, Forms, iOS, Android, UWP)
Ну так проще же это сделать в xml
источник

СГ

Степан Гончаров... in Xamarin Developers (MAUI, Forms, iOS, Android, UWP)
не понял
расскажи алгоритм
источник

СГ

Степан Гончаров... in Xamarin Developers (MAUI, Forms, iOS, Android, UWP)
вот мой фрагмент
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
   android:orientation="vertical"
   android:layout_width="fill_parent"
   android:layout_height="fill_parent"
   android:id="@+id/frame_page">
   <!--список пользователей-->
</LinearLayout>
источник

VK

Vlad Khasenevich in Xamarin Developers (MAUI, Forms, iOS, Android, UWP)
Список пользователей, в андроид как правило список - это RecyclerView
Ну так и закинь сюда этот компонент, с нужным I'd и параметрами отображения, а уже в коде найди и задай параметры для жанных
https://stackoverflow.com/questions/40584424/simple-android-recyclerview-example
источник

СГ

Степан Гончаров... in Xamarin Developers (MAUI, Forms, iOS, Android, UWP)
так компонент с ID еще не загружен
источник

СГ

Степан Гончаров... in Xamarin Developers (MAUI, Forms, iOS, Android, UWP)
это-же фрагмент
источник

VK

Vlad Khasenevich in Xamarin Developers (MAUI, Forms, iOS, Android, UWP)
В этом месте создаётся из xml view, в которой можно найти компонент нужный
источник

СГ

Степан Гончаров... in Xamarin Developers (MAUI, Forms, iOS, Android, UWP)
ну вот ничего такого не получается
источник

СГ

Степан Гончаров... in Xamarin Developers (MAUI, Forms, iOS, Android, UWP)
public override View OnCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
       {
           var ignored = base.OnCreateView(inflater, container, savedInstanceState);
           View _view = inflater.Inflate(Resource.Layout.fragment1, null);
           LinearLayout _list_msg = FindViewById<LinearLayout>(_view.Id.frame_page);
           
           return _list_msg;


       }
источник

VK

Vlad Khasenevich in Xamarin Developers (MAUI, Forms, iOS, Android, UWP)
Ну так нужно же
_view.FindViewById
И не
_view.Resource...
А
Resource.Id.frame_page
источник