بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]
پرسش و پاسخ

G.currentActivity

مدیریت گفتگو
Hello World 11 سال پیش
آخرین تغییر: 11 سال پیش

سلام دوستان من G.currentActivity  رو متوجه نمیشم

وقتی استاد متد on resume  رو توی activityEnhanced  قرار دادن 

و توی enhanced  نوشتن که   G.currntActivity = this 

حالا از کجا میفهمه کدوم اکتویتی در حال اجراست_ لطفا کلا این رو توضیح بدین 

نظرات

پاسخ‌ها 1

آس 11 سال پیش

سلام

کلاس G که تعریف می کنیم چون Extends از Application شده همیشه قابل دسترسی و run شدن .
خب این که از این
حالا
توی هر Activity که باشید مثلا  
Activity 1 حتما متد onResume روش در حال اجراست تا زمانی که از اکتیویتی 1 برین به یه دیگه مثلا اکتیویتی 2 ( که در این صورت متد onPause برای اکتیویتی اجرا میشه ) یا اکتیویتی 1 رو با دستور Activity.finish ببیندید ( که در این صورت متد onStop برای اکتیویتی 1 اجرا میشه ) ، خب اینم از این .

پس تا اینجا متوجه شدیم اگر توی یک اکتیویتی باشیم حتما حتما تو آن ریزومش هستیم ، پس برای اینکه به برناممون و بقیه قسمت ها خبر بدیم که کجا هستیم باید به یک جایی خبر بدیم که از همه جا در دسترس باشه پس :
میایم توی G همون currentActivity رو میسازیم ومقداری هم نمیدیم ، بعد برای اینکه از اکتیویتی 1 دستمون به 
currentActivity برسه باید آدرسشو بدیم و از اونجایی که توی کلاس G هستش میگیم G.currentActivity ، تا اینجا دستمون بهش رسید حالا چی کار کنیم ؟
الان بهش میگیم G.
currentActivity = this ، که متوجه بشه ما در onResume اکتیویتی 1 هستیم .

« موفق باشید »

نظرات

تیرداد 11 سال پیش
ممنون تقریبا گرفتم قضیه رو ، ولی میشه بگید چرا این کار رو میکنیم ؟ استاد در دستور intent از G.Context استفاده کردن که اشاره به اکتیویتیه جاریه / ولی ما که به عموان برنامه نویس خودمون میدونیم الان کاربر تو کدوم Activity هست ، میتونیم به جای G.context اسم Activity رو بنویسیم چه نیازیه واسش جداگانه کلاس تشکیل بدیم و برنامه مون رو طولانی کنیم
آس 11 سال پیش
خب بعضی مواقع هست که میدونیم کجا هستیم و کجا قراره بریم : مثلا میخوایم با یک دکمه از مین اکتیویتی به سکند اکتیویتی بریم ، خب در این صورت مینویسیم اینتنت اینتنت و ... ، درسته در این مورد میدونیم ! اما در مواردی هست که نمیدونیم کجاییم و در واقع یک دکمه نیست و باید بفهمیم کهجا هستیم مثلا : میگیم اگر currentActivity = mainActivity بود اون موقع مثلا یک کاری رو بکن .

پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .