في البداية، يبدو أن المشكلة تكمن في كيفية إضافة العناصر إلى الـ ArrayList. في الشيفرة المقدمة، تم إنشاء كائن من النوع CommonListItems
واستخدامه لإضافة عناصر إلى الـ ArrayList. ومع ذلك، يتم تعديل الكائن نفسه في كل دورة من الحلقة for
وبالتالي يتم إضافة نفس الكائن مرتين، حيث يتم تغيير القيم لكن الكائن هو نفسه.
لحل هذه المشكلة والحصول على النتيجة المطلوبة، يجب إنشاء كائن جديد من النوع CommonListItems
في كل تكرار للحلقة for
، بدلاً من تعديل نفس الكائن. يمكن فعل ذلك عن طريق وضع إنشاء الكائن CommonListItems
داخل الحلقة for
بدلاً من خارجها.
إليك كيف يمكن تعديل الشيفرة لتحقيق هذا الهدف:
javaif(BUSINESS_STR != null){
Log.e("BUSINESS_STR", "" + BUSINESS_STR);
for(int i = 0; i <= 1 ; i++) {
CommonListItems commonListItems = new CommonListItems(); // إنشاء كائن جديد في كل تكرار
if(i == 0) {
commonListItems.setName("My Business");
commonListItems.setImage(String.valueOf(R.drawable.business_icon));
} else if(i == 1) {
commonListItems.setName("Search Business");
commonListItems.setImage(String.valueOf(R.drawable.search_business_icon));
}
itemsaArrayList.add(commonListItems); // إضافة الكائن إلى القائمة
}
tvTitle.setText("Business");
}
بهذا التعديل، سيتم إنشاء كائن CommonListItems
جديد في كل تكرار للحلقة for
، مما يؤدي إلى إضافة عناصر مختلفة إلى الـ ArrayList كما تمنى السائل.
المزيد من المعلومات
بعد التعديلات اللازمة على الشيفرة لحل المشكلة المذكورة، يمكننا الآن الاستمرار في توسيع المقال لتوفير معلومات إضافية حول كيفية إضافة وتحكم في عناصر قائمة في الأندرويد.
في تطوير تطبيقات الأندرويد، قد تحتاج في بعض الأحيان إلى عرض قوائم من العناصر للمستخدمين. قد تكون هذه القوائم تحتوي على عناصر ثابتة أو قد تكون ديناميكية تمامًا، حسب احتياجات التطبيق. وتستخدم قائمة ArrayList
بشكل شائع لتخزين البيانات التي تمثل عناصر القائمة.
في الشيفرة المعروضة، نقوم بإنشاء كائن من النوع CommonListItems
لتمثيل عناصر القائمة. بعد ذلك، نقوم بتكرار مرتين في حلقة for
لإضافة عناصر مختلفة إلى القائمة. وبعد إضافة العناصر، نقوم بتغيير العنوان الذي يُعرض في واجهة المستخدم باستخدام tvTitle.setText("Business")
.
هذا المثال يعتبر بسيطًا لتوضيح كيفية إضافة عناصر إلى قائمة في الأندرويد. ومع ذلك، يمكن تطويره بشكل أكبر ليتناسب مع احتياجات التطبيق الخاص بك. على سبيل المثال، يمكنك استخدام مصفوفة بدلاً من حلقة for
لتخزين العناصر وإضافتها إلى القائمة، ويمكنك أيضًا تخصيص طريقة عرض العناصر في واجهة المستخدم عن طريق استخدام RecyclerView
أو ListView
.
في النهاية، يعتمد كل شيء على متطلبات تطبيقك الخاص وتفضيلاتك الشخصية، ومن الضروري التأكد من توفير تجربة مستخدم سلسة وفعالة لمستخدمي التطبيق الخاص بك.