PDA

View Full Version : نحوه بهینه استفاده از Fragment , Activity



Javad-ht
سه شنبه 01 اردیبهشت 1394, 20:14 عصر
سلام
دوستان من قصد دارم یه اپ بنویسم که یه actionbar تو تمام صفحاتش هست که صرفا برای سرچ هست و صفحه اصلیش 2 تا تب هست که هر دو توشون لیست ویو هست.
صفحات دیگه هم به صورت listview ساده و صفحاتی که چند تا تب دارن و همه تب ها دارای listview.
امیدوارم متوجه منظورم شده باشید.
حالا من میخوام این رو بنویسم ولی نمیدونم که چطور بهینه تره؟
مطمئنا اینکه همه صفحات من activity باشن اصلا خوب نیست و این طور که من فهمیدم بهتره همه فرگمنت باشن و چون تقریبا مشابه هستن از طریق اکتیویتی اصلی کنترل بشن و هر کدوم بیاد تو اکتیویتی بشینه!
حالا به نظرتون با توجه به اینکه من چند مدل صفحه مختلف دارم و از هر کدوم چند بار استفاده میکنم در جاهای مختلف بهتره هر کدوم از اینها یک فرگمنت باشه و با توجه به نیاز استفاده شه؟
یعنی یه لیست فرگمنت ساده، یه فرگمنت با چند تا تب و ...

برای تب ها از actionbar.tablistener استفاده میکنم که تو اندروید 5 deprecated شده.ولی خوب جایگزینش که معرفی شده چیزی نیست که من بخوام.من میخوام تب ها ثابت باشه و چون حداکثر 3 تا تب دارم همه تو صفحه باشن.چیزی هست یا از همین استفاده کنم؟
اگه خواستم از actionbar.tablistener استفاده کنم اکتیویتیم ActionbarActivity باشه و تب ها رو توی فرگمنت ها پیاده سازی کنم؟
extends Fragment implements ActionBar.TabListener ؟

ببخشید اگه سوالم یکم گیج کنندست، بهتر نتونستم توضیح بدم.
پیشاپیش ممنونم از جوابتون.

tux-world
سه شنبه 01 اردیبهشت 1394, 21:56 عصر
خوب من تا الان یکبار هم از اکشن بار تو برنامه هام استفاده نکردم همیشه ازش بدم میومد چون تو نسخه های اندروید همیشه یه جوری نشون میده و باید دائما روش مانور بدی که نمیشه به جای این من خودم یه اکتیویتی بدون اکشن بار میسازم و خودم یه لای اوت اون بالا میزارم هر کاری دوست داشتم باهاش میکنم. برای اینکه چند تا فرگمنت داشته باشی کار راحتیه. یه اکتیویتی درست کن توش یه linearlayout مثلا درج کن اکتیویتی ها رو توش جاگذاری کن. اینطوری هر کاری دوست داشتی میتونی بکنی ولی اگه بخوایی از تب استفاده کنی به دردت نمیخوره دیگه

Javad-ht
سه شنبه 01 اردیبهشت 1394, 22:19 عصر
ممنون دوست عزیز.خوب من میخوام از تب هم تو بعضی فرگمنت ها استفاده کنم.
دوستان دیگه نظری ندارن؟

farhad-deh
جمعه 04 اردیبهشت 1394, 11:43 صبح
دوستان من قصد دارم یه اپ بنویسم که یه actionbar تو تمام صفحاتش هست که صرفا برای سرچ هست و صفحه اصلیش 2 تا تب هست که هر دو توشون لیست ویو هست.
صفحات دیگه هم به صورت listview ساده و صفحاتی که چند تا تب دارن و همه تب ها دارای listview.
امیدوارم متوجه منظورم شده باشید.
حالا من میخوام این رو بنویسم ولی نمیدونم که چطور بهینه تره؟
مطمئنا اینکه همه صفحات من activity باشن اصلا خوب نیست و این طور که من فهمیدم بهتره همه فرگمنت باشن و چون تقریبا مشابه هستن از طریق اکتیویتی اصلی کنترل بشن و هر کدوم بیاد تو اکتیویتی بشینه!


منم دقیقا همچین مشکلی دارم ! یه اکشن بار سفارشی دارم که باید توی همه ی صفحات من باشه . به علاوه این که من توی اکتیویتی اصلیم تعداد زیادی دکمه دارم که هرکدوم باید یه صفحه ی جدید باز بشن که یه لیست وییو سفارشی توشه و موارد مخصوص خودشون . واسه همین باید تعداد زیادی اکتیویتی بسازم که هرکدوم هم یه xml دارن و باید کد ها اکشن بار رو توی هرکدوم کپی کنم !



سوال بعدی اینکه ! میخواستم ببینم راهی نیست یه بار اکشن بار رو واسه مین اکتیویتی بنویسم و از اون توی بقیه ی صفحات استفاده کنم ! نخوام همه ی کد ها رو هی کپی کنم !

#root#
جمعه 04 اردیبهشت 1394, 11:55 صبح
سوال بعدی اینکه ! میخواستم ببینم راهی نیست یه بار اکشن بار رو واسه مین اکتیویتی بنویسم و از اون توی بقیه ی صفحات استفاده کنم ! نخوام همه ی کد ها رو هی کپی کنم !

خب اینجاست که بحث وراثت در شی گرایی میاد وسط،

یه Activity رو به عنوان بیس در نظر بگیرید و تمام کدهایی مشترکی که قرار هست در دیگر Activity ها استفاده بشه رو داخل اون بنویسید،

حالا بقیه Activity ها رو از این کلاس extend کنید.

farhad-deh
شنبه 05 اردیبهشت 1394, 23:05 عصر
خب اینجاست که بحث وراثت در شی گرایی میاد وسط،

یه Activity رو به عنوان بیس در نظر بگیرید و تمام کدهایی مشترکی که قرار هست در دیگر Activity ها استفاده بشه رو داخل اون بنویسید،

حالا بقیه Activity ها رو از این کلاس extend کنید.

دقیقا تو فکرم بود اما نمیدونستم تو اینجام هست یا نه ! به همین سادگی ! :| میگم خب یه سری کد هم هست که نمیخوام به اشتراک گذاشته بشه اینها رو چطوری تفکیک کنم ؟!
مرسی از کمکتون