"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > كيفية تعيين اختيار الدوار حسب القيمة، وليس الموضع في Android؟

كيفية تعيين اختيار الدوار حسب القيمة، وليس الموضع في Android؟

تم النشر بتاريخ 2024-11-10
تصفح:886

How to Set a Spinner\'s Selection by Value, Not Position in Android?

ضبط تحديد القرص الدوار حسب القيمة، وليس الموضع

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

للتغلب على هذا التحدي، الأسلوب الأكثر ملاءمة هو استخدام طريقة getPosition الخاصة بـ ArrayAdapter. تتيح هذه الطريقة، عند إقرانها بمحول ArrayAdapter مناسب، تحديد الموضع المرتبط بقيمة محددة.

ضع في اعتبارك سيناريو حيث يحتوي Spinner المسمى mSpinner على قيمة "بعض القيمة". لتحديد موقعه ومقارنته، اتبع الخطوات التالية:

إنشاء ArrayAdapter من ملف المورد R.array.select_state:

ArrayAdapter adapter = ArrayAdapter.createFromResource(this, R.array.select_state, android.R.layout.simple_spinner_item);

تعيين محول Spinner وDropDownViewResource:

adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
mSpinner.setAdapter(adapter);

التالي، إذا كانت القيمة المراد مقارنتها (compareValue) ليست فارغة:

if (compareValue != null) {
    int spinnerPosition = adapter.getPosition(compareValue);
    mSpinner.setSelection(spinnerPosition);
}

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

أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3