onAttach

پرسیده شده
فعالیت 1374 روز پیش
دیده شده 699 بار
0

سلام 

من اصلا نفهمیدم که متد 

public void onAttach(@NonNull Context context) {
    super.onAttach(context);
    eventListener = (MydialogEventListener) context;
}

 چه کاری رو انجام میده ؟

 

فایل پیوست

Reza Tavassoli
Reza Tavassoli

13 فروردین 99

3
حذف شده

سلام رضا جان

این متد وقتی فرگمنت به اکتیویتی متصل شد صدا زده میشه

به عبارتی این متد در چرخه فرگمنت ها هستش و در چرخه حیات اکتیویتی حضور نداره.

و ما در اون اینترفیسمونو مقداردهی کردیم با context  و سپس کست کردیم(عمل پولیمورفیسم).

فایل پیوست

پوریا شفیعی

توسط

پوریا شفیعی

13 فروردین 99

4
حذف شده

در چرخه حیات (Life Cycle) فرگمنت، متدی هست به اسم onAttach، این متد زمانی صدا زده می شه که فرگمنت به اکتیویتی متصل بشه، از طرف دیگه این متد پارامتری داره که در واقع Context همون اکتیویتی هست که به فرگمنت متصل شده. حالا اگر ما اینترفیس رو توسط اکتیویتی implement کرده باشیم، می تونیم داخل متد onAttach بگیم پارامتر Context همون interface ما هست که implement شده (بر اساس قاعده Polymorphism).

فایل پیوست

سعید شاهینی

توسط

سعید شاهینی

14 فروردین 99

حذف شده
استاد قاعده Polymorphism رو کدوم قسمت مباحث شی گرایی توضیح دادید؟
محمد استکی

18 اردیبهشت 99

0
حذف شده

درود وقت بخیر

 با تعاریف شما در بالا

 

1.

آیا میشه بجای کد زیر :

eventListener= (MyDialogeventListener) context;

نوشت:

 eventListener= new MainActivity();

 

چون من اینکارو کردم و کامپایلر اروری نداد.

 

2.

اگر context همون روت لی اوت اکتیوتی ماست دیگه چه نیازی به Cast کردنش داریم چون اونطرف MainActivity اینترفیس MyDialogeventListener رو پیاده سازی کرده بنابراین کامپایلر باید بتونه اتوماتیک با مقداردهی کردن eventListener با نمونه context متوجه بشه که این context همون نمونه MainActivity هست.

 

ممنون

فایل پیوست

پژمان آزاد

توسط

پژمان آزاد

6 مرداد 99