توی این روش از دو تا فریم لی اوت استفاده کرده و در ابتدا با فرگمنت منیجر هر دو فرگمنت رو سر جاشون قرار داده.
با دو تا کال بک توی هر فرگمنت دیتارو از یه فرگمنت میگیره و توی اون یکی نشون میده و برعکس.
توی این روش از دو تا فریم لی اوت استفاده کرده و در ابتدا با فرگمنت منیجر هر دو فرگمنت رو سر جاشون قرار داده.
با دو تا کال بک توی هر فرگمنت دیتارو از یه فرگمنت میگیره و توی اون یکی نشون میده و برعکس.
توی این روش میشه از یک فریم لی اوت استفاده کرد و از ویوی فرگمنت به صورت ثابت استفاده نکرد.
اینجا مثل روش قبل، توی فرگمنت اول یک لیسنر هست که توسط اکتیویتی پیاده سازی شده. در فرگمنت دوم از متد استاتیک getInstance استفاده شده، بدین معنا که دیتای گرفته شده از فرگمنت اول به آرگومان این متد داده میشه.
برای ارتباط بین دو فرگمنت از طریق لیسنر، باید از فرگمنت های ثابت استفاده کنیم. یعنی از ویوهای فرگمنت در اکتیویتی های اصلی استفاده بشه. کد XML اکتیویتی:
اصلی ترین کاربرد فرگمنت اینه که به ما ویوی داینامیک بده.
این کلاس فرگمنت ها را مدیریت میکنه. از طریق این کلاس میشه به FragmentTransaction دسترسی پیدا کرد.
FragmentTransaction
این کلاس ها متدهایی برای add، replace یا remove فرگمنت ها داره.
از این دو کلاس به صورت زیر استفاده میشه:
FragmentManager fragmentManager = getFragmentManager();
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
در این حالت باید یک placeholder به اکتیویتی اضافه کنیم تا فرگمنت داخل آن قرار بگیره. معمولا این placeholder فریم لی اوت هست.
فرگمنت یک ویو هست که روی اکتیویتی اتچ میشه. توی این پست ساده ترین روش پیاده سازی اون رو میگم.
1. ایجاد یک کلاس و اکستند کردن آن از Fragment
2. ایجاد یک ریسورس از جنس لی اوت برای فرگمنت
توی شکل زیر من فقط یک تکست ویو توی فرگمنت گذاشتم.