3 طرق مختلفة لكتابة كود حدث الضغط على Button في الاندرويد

0 176

المقدمة :


كما هو معروف إن الغرض من إضافة الزر Button هو استخدامه للضغط عليه ومن ثم عند الضغط عليه يقوم هذا الزر بعمل معين  وسنتعلم كيفية إضافة حدث الضغط للإزرار في الاندرويد لكن قبل أن نبدأ في ذلك لابد أن نفهم كيف يقوم نظام الاندرويد بالتعامل مع حدث الضغط على الزر وسنتعلم ايضا على كيفية كتابة كود حدث الضغط على الزر ب 3 طرق مختلفة.

 

كيف يقوم نظام الاندرويد بالتعامل مع حدث الضغط على الزر ؟

قبل البدء في كتابة كود حدث الضغط على الزر يجب علينا أولا فهم بعض الأمور الأساسية وهي كيف يقوم نظام الاندرويد بالتعامل مع أي حدث يقوم به المستخدم كـ الضغط على الزر، الكتابة، اللمس، السحب والافلات الخ..

1-View: وهو عبارة عن المكون الذي سيظهر على الشاشة كمثال: الازرار، مربعات النصوص، مربعات الاختيار الخ..

2-Event: وهي عبارة عن حدث يتم حدوثه من خلال تفاعل المستخدم مع العنصر الموجود على الشاشة كمثال: الضغط على الزر ، السحب والافلات على الشاشة ، الكتابة في مربع نص الخ.. ويقوم نظام التشغيل باستقبال هذا الـحدث.

3-Listeners:وهي تقوم باستقبال الevent  من نظام التشغيل المستمعات وتنفيذ الكود المطلوب عند حدوث هذا الحدث.

ويمكن التعبير عن هذ السناريو بالصورة ادناه:

 

إضافة كود الضغط على الزر ب 3 طرق مختلفة:

يمكن إضافة كود حدث الضغط على الزر ب 5 طرق مختلفة وهي كما يلي:

1-الخاصية onClick:

وهي من اسهل الطرق لإضافة كود حدث الضغط على الزر وذلك عبر إضافة هذه الخاصية للزر الذي نريد إضافة حدث الضغط له:

1-نقوم إولا بالضغط مرة واحدة على الزر الذي نريد إضافة حدث الضغط له.

2-من قائمة الخصائص Properties ونقوم بالذهاب إلى الخاصية onClick ونقوم بإعطائها قيمة نصية كمثال clickButton  (يجب التركيز جيدا على هذا الاسم وحفظه) لإننا سنستخدمه لاحقا وسيكون هذا الاسم للدالة التي سوف تستقبل حدث الضغط على الزر.

وهذه الصورة تبين كيفية إضافة الخاصية  onClick للزر:

3-نقوم بفتح ملف الجافا المرتبط بهذه الـ Activity   ونضيف داله بنفس الاسم الذي قمنا بتحديده في الخاصية onClick وتستقبل هذه الدالة بارميتر من نوع View  كما في الكود ادناه:

من الكود أعلاه قمنا بإاضافة دالة clickButton وبداخل الدالة يمكنك كتابة الكود المطلوب تنفيذه عند ضغط المستخدم على الزر على سبيل نريد طباعة طباعة رسالة في logcat.

 

 

2-Using Interface Variable

وفي هذه الطريقة نقوم بإنشاء دالة الضغط وذلك من خلال الانترفيسOnClickListener  التي تحتوي على دالة وحيدة وهي onClick ولكتابة الكود نقوم بالاتي :

1-نعرف اوبجكت من الـ button الذي نريد ان نضغط عليه وذلك من خلال الدالةfindViewByid ونكتب ذلك بداخل الدالة onCreate كما في الكود ادناه:

 

2-ثم نقوم بإنشاء اوبجكت من الانترفيس OnClickeListener ونعمل اوفرايد للدالة  oNclick() ومن ثم كتابة الكود المراد تنفيذه بداخلها كما في الكود ادناه:

3-ربط الزر بالاوبجكت الذي قمنا بإنشائه في الخطوة رقم 2 وذلك يكون داخل الدالة onCreate() بالكود ادناه:

3-Inner Class

وفي هذه الطريقة نقوم بالاتي:

1-نعرف اوبجكت من الـ button الذي نريد ان نضغط عليه وذلك من خلال الدالةfindViewByid ونكتب ذلك بداخل الدالة onCreate كما في الكود ادناه:

2–نقوم بإنشاء كلاس داخلي يقوم بتنفيذ الانترفيس  OnClickListener ونعمل اوفرايد للدالة onClick()  ومن ثم كتابة الكود بداخلها:

3-تمرير اوبجكت من الكلاس الداخلي وربطه بالزر من خلال الدالةsetOnClickListner كما في الكود ادناه:

 

وهكذ نكون قد وصلنا لنهاية الدرس>> رأيك يهمني بالتعيقات

تعليقات فيس بوك

اضافة تعليق

قد يعجبك ايضا أكثر من مؤلف

Loading...