onclicklistener
سلام وقت بخیر.در قسمت سوم اندروید این کدها رو آموزش دادید:
btnchange.SetOnClickListener (new View.OnClickListener(){public void onclick(View v)
طبق آموزش های مقدماتی و متوسط جاوا،من یه چیزهایی از این خط رو متوجه نمیشم.مثلا داخل پرانتز اول.شما کلمه new رو فقط برای خط تعریف نمونه آموزش دادید.اول اینکه چرا باید داخل ورودی یک تابع ما کلمه new بیاریم؟اگر برای تعریف یک گزاره جدید هست، ما چه چیزی رو تعریف کردیم که حالا بخوایم با کلمه new براش فضایی از حافظه بگیریم.شما فرموده بودید استفاده از new بعد از تعریف نمونه، برای گرفتن فضا از حافظه یا مقدار دهی اولیه توسط تابع سازنده هست.حالا ما چه چیزی رو تعریف کردیم که بخوایم با تابع سازنده OnClickListener() و کلمه new فضایی برای اون در نظر بگیریم.
یا مثلا تو بخش اوور راید، داخل پرانتز، اون View v چیه. View مگه اسم کلاس نیست؟ الان یک v از جنس View تعریف شده ولی مقدار دهی یا new نشده.متوجه نمیشم این گزینه ها رو.
کاش کتابی یا مرجعی معرفی کنید که دونه دونه این خطوط اندروید رو تفسیر کنه
بی زحمت راهنمایی کنید.پاینده باشید.تشکر
پاسخ ( ۱ )
سلام دوست عزیز
شما برای درک کردن این کد باید مبحث اینترفیس و شی گرایی رو یاد بگیرید که در دوره جاوای پیشرفته استاد عباسی به صورت کامل آموزش داده شده.
لینک دوره آموزش جاوا پیشرفته: https://darsman.com/courses/advanced-java-training/
ولی اگر خیلی ساده و خلاصه بخوام توضیح بدم، در ورودی تابع ()setOnClickListener یک اینترفیس از OnClickListener دریافت می کند. و کلمه new برای پیاده سازی اینترفیس OnClickListener استفاده شده است.
درون اینترفیس OnClickListener یک تابع به نام onClick وجود دارد که ورودی آن از نوع کلاس View است و زمانی که روی دکمه کلیک میکنید این تابع فراخوانی می شود و مقدار آن که با حرف v نمایش داده شده مقدار دهی میشود که اطلاعاتی از شی کلیک شده را دارد به عنوان آیدی شی و …