كيفية عمل onClick داخل Recyclerview ببرنامج أندرويد ستوديو Android studio

 كيفية عمل onClick داخل Recyclerview ببرنامج أندرويد ستوديو Android studio

بسم الله الرحمن الرحيم السلام عليكم و الله وبركاته, متابعينا الكرام مرحبا بكم في مقاله جديده من مقالات اكواد اندرويد ستوديو في هذه المقاله سوف نتعرف على كيفية عمل أون كليك - onClick على Recyclerview حيث انني بحثت كثيرا على طريقة لعمل onClick لكل ايتم من الموجود داخل الريسيكلار فيو وفي الواقع اكتشفت انه يمكنك عمله بأكثر من طريقه وسوف اقدم لك في مقاله اليوم اسهل طريقه منهم وايضا في درس عرض تفاصيل الاوردر الموجود في شروحات فايربيز قدمت لكم طريقه اخرى وفي دروس الاي بي آي - API , قدمت ايضا طريقه اخرى كل هذه الطرق تمكنك من عمل onClick لكل عنصر وفي هذا المقال اقدم لك ابسط طريقه مع مثال توضيحي .


كيفية عمل onClick داخل Recyclerview ببرنامج أندرويد ستوديو Android studio

كيفية عمل onClick لكل عنصر من العناصر داخل Recyclerview 

اولا قم بإنشاء interface بأي اسم وهنا قمت بتسميتة Clickinterface , قم بعمل void للضغطة العادية والضغطة المطوله وبداخلهم int position لكي يحول المستخدم للموقع , سوف تجدهم ال2 باللون الرمادي لا تقلق هذا لانك لم تستعملهم من قبل .



توجة الان الى Adptor الخاص بـ RecyclerView وقم بإضافة Clickinterface واخذ اوبجكت منة وبعدها احذف constructor وبعدها قم بإنشاءة مره اخرى بالـ Clickinterface 



الان اسفل onCreateViewHolder يمكنك تعريف المتغيرات التي تريد حدوث الكلك عليها او على الكارد كامل , اذا كنت تريد على الكارد كامل يمكنك عمل ItemView وبعدها setOnClickListener ولكن انا استخدم binding لذلك اكتب binding.getRoot().setOnClickListener وبعدها تخبرة اذا قام المستخدم بالنقر عليك قم بتحويلة الى الموقع , ايضا اذا كنت تريد على الضغطة المطولة يمكنك عمل setOnLongClickListener .


شاهد ايضا :




الان ارجع الى MainActivity او الصفحة التي تعرض الريسيكلار وقم بعمل implements للانترفيس التي تحتوي على الازرار وستلاحظ وجود ايرو كل ما عليك هو النقر على alt + enter وسيقوم بعمل onclick و longlick وبداخلهم قم بعمل ما تريد , وايضا سوف تشاهد ظهور ايرور داخل Adptor لذلك قم بعمل , وبعدها اكتب this .



اذا كنت ازالة عنصر عندما يطول النقر على العنصر قم بكتابة اسم العنصر بعدها remove بعدها position , واخبر الادبتر انه حدث عملت حذف عن طريق كتابة الادبتر بعدها notifyItemRemoved .



قد لا تصلح معك  احيانا طريقة implements والسبب انك احيانا تكون خارج scope لذلك قم بتعريف الانترفيس بالطريقة العادية وهي Onclick onclick كما بالصورة وفي الادبتر اكتب اسم الاوبجكت الذي قمت بأخذة من الانترفيس



طريقة اخرى :

لن نحتاج لعمل انترفيس كل شيئ سووف يكون من الادبتر نفسه كما بالصورة .

Recyclerview


رابط البروجكت على GitHub

فيديو الشرح


لمزيد من الاكواد

تعليقات