ریسایکلر ویو مثل لیست ویو میمونه ولی پیاده سازیش راحت تره.
1. باید یک کلاس اداپتر براش بنویسیم که از کلاس RecyclerView.Adapter اکستند میشه و ویو هلدر تایپ جنریک اون هست.
ریسایکلر ویو مثل لیست ویو میمونه ولی پیاده سازیش راحت تره.
1. باید یک کلاس اداپتر براش بنویسیم که از کلاس RecyclerView.Adapter اکستند میشه و ویو هلدر تایپ جنریک اون هست.
NaN = Not a Number
مثلا اگر رادیکال -2 رو چاپ کنیم Nan میده. چرا؟ چون لزوما اشتباه نیس و این عدد در حوزه اعداد مختلط تعریف شدس
همین طور 0.0/0.0 هم مقدارش Nan هست. چون 0.0 صفر مطلق نیست و صفر حدودیه.
ولی 1/0 میشه بی نهایت(Infinity چاپ میکنه). چون اینجا منظورمون صفر مطلقه.
سایز دیوایس همون رزولوشن نیست. ممکنه یه گوشی کوچیک باشه ولی رزولوشن اون از یه تبلت بیشتر باشه. برای ما اندازه طول و عرض دیوایس مهمه. کلا ما با رزولوشن کاری نداریم.
توی کد اول رزولوشن طول و عرض رو میگیریم و با تقسیم اون بر density (یعنی همون تعداد پیکسل در هر اینچ) سایز دیوایس بدست میاد.
این لینک خیلی خیلی خیلی خوبه.
همه چیو در مورد فرگمنت گفته. لایف سایکل، متدهای فرگمنت منیجر و اینا
حتما برای مرور دوباره بخون.
توی این روش از دو تا فریم لی اوت استفاده کرده و در ابتدا با فرگمنت منیجر هر دو فرگمنت رو سر جاشون قرار داده.
با دو تا کال بک توی هر فرگمنت دیتارو از یه فرگمنت میگیره و توی اون یکی نشون میده و برعکس.
توی این روش میشه از یک فریم لی اوت استفاده کرد و از ویوی فرگمنت به صورت ثابت استفاده نکرد.
اینجا مثل روش قبل، توی فرگمنت اول یک لیسنر هست که توسط اکتیویتی پیاده سازی شده. در فرگمنت دوم از متد استاتیک getInstance استفاده شده، بدین معنا که دیتای گرفته شده از فرگمنت اول به آرگومان این متد داده میشه.
برای ارتباط بین دو فرگمنت از طریق لیسنر، باید از فرگمنت های ثابت استفاده کنیم. یعنی از ویوهای فرگمنت در اکتیویتی های اصلی استفاده بشه. کد XML اکتیویتی:
اصلی ترین کاربرد فرگمنت اینه که به ما ویوی داینامیک بده.
این کلاس فرگمنت ها را مدیریت میکنه. از طریق این کلاس میشه به FragmentTransaction دسترسی پیدا کرد.
FragmentTransaction
این کلاس ها متدهایی برای add، replace یا remove فرگمنت ها داره.
از این دو کلاس به صورت زیر استفاده میشه:
FragmentManager fragmentManager = getFragmentManager();
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
در این حالت باید یک placeholder به اکتیویتی اضافه کنیم تا فرگمنت داخل آن قرار بگیره. معمولا این placeholder فریم لی اوت هست.