شرح التعامل مع ال spinner وطباعة المحتويات من داخله في Android Studio

 

شرح التعامل مع ال spinner وطباعة المحتويات من داخله في Android Studio

شرح التعامل مع ال spinner وطباعة المحتويات من داخله في Android Studio

من العناصر المهمه والذي عليك معرفتها كمبرمج تطبيقات اندرويد وهيا خاصية spinner  فهي بكل بساطة عباره عن قائمة منسدله يمكنك اختيار منها عنصر واحد فقط وفي هذا المقال سوف نشرح لكم كيف تستطيع استخراج العنصر من داخلها والتعامل معه سواء طباعة قيمته او تخزينها او عمل به اي عملية تريدها والspinner لا تقل اهميته عن اي عنصر اخر يتم استخدامه في التطبيق فهو مهم جدا وعلى كل مبرمج كيفية التعامل معه لان قد يقابلك في عملك وتحتاج اليها .


تطبيق الهاتف المحمول الأصلي مكتوب باللغة الأم للهاتف الذكي. على سبيل المثال ، Java لنظام Android و Swift لنظام iOS ، أو Flutter ، والتي يمكن استخدامها على كلا النظامين الأساسيين!

الوسيلة الأكثر شيوعًا اليوم هي التطبيقات المحلية. هذه هي تطبيقات الهاتف المحمول التي تم إنشاؤها خصيصًا لنظام تشغيل معين (iOS أو Android). لن يعمل التطبيق الذي تم إنشاؤه لنظام Android على نظام التشغيل iOS ، والعكس صحيح. نظرًا لأن كل نظام تشغيل له مجموعته الخاصة من الرموز والخصائص ، فإن تطوير تطبيق محلي يستغرق وقتًا أطول ، ويكون أكثر تعقيدًا ، وبالتالي يكلف أكثر. نتيجة لذلك ، إذا كنت ترغب في نشر نفس تطبيق الهاتف المحمول على نظامي التشغيل المنفصلين ، فستحتاج إلى تصميمه مرتين. عندما تختار تطبيقًا محليًا ، يمكنك أن تطمئن إلى أنه سيكون ذا جودة عالية جدًا لأنه تم إنشاؤه خصيصًا لك.


google console play console android android studio mac android studio krita android


شرح تصميم الspinner في xml

في هذا المثال قمنا بعمل تصميم عباره عن زر وspinner وهو عباره عن تصميم بسيط جدا وفي الفقره التاليه سوف نشرح لكم بالكود كيف تتعمل عملية استخراج عنصر من القائمة المنسدلة في الاندرويد ستوديو بالجافا بسهوله .


شرح تصميم الspinner في xml

Spinner.xml


<LinearLayout

        android:orientation="vertical"
        android:background="#4A6BFB"
        android:gravity="center"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        tools:context=".MainActivity">


        <Spinner
            android:id="@+id/spinner"
            android:textAlignment="center"
            android:textColor="@color/white"
            android:layout_width="match_parent"
            android:layout_height="40dp" />

        <Button
            android:id="@+id/btn"
            android:layout_marginTop="30dp"
            android:text="Click Here"
            android:textColor="@color/white"
            android:layout_width="230dp"
            android:layout_height="60dp" />

    </LinearLayout>
    


كود التعامل مع الspinner بلغة الجافا

قمنا هنا باستخدام خاصية الbinding وقمنا بعمل list من string بداخلها مجموعة من الكلمات وبعدها قمنا بجعل الadapter يكون بشكل العناصر التي نستطيع الاختيار من بينها وارسلنا له الlist من النصوص وبعدها قمنا بجعل الادبتر بارسال setDropDownViewResource وبداخلها الشكل المتعارف عليه للspinner وبعدها اخير قمنا باستخدام الspinner وارسلنا له الادبتر وبعدها ناتي لخطوة كيفية الاختيار من متعدد وذلك يكون عن طريق الامر setOnItemSelectedListener وبداخل الاختيار نحصل على القيمة وهنا قمنا بإرسالها الى ما تم تحديده .


كود التعامل مع الspinner بلغة الجافا

spinner.java


public class MainActivity extends AppCompatActivity {
    ActivityMainBinding binding;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        binding = DataBindingUtil.setContentView(this, R.layout.activity_main);

        List<String> list = new ArrayList<>();
        list.add("Java");
        list.add("Dart");
        list.add("Python");
        list.add("C++");

        ArrayAdapter<String> adapter = new ArrayAdapter<String>(this ,
        android.R.layout.simple_spinner_item , list);
      
        adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

        binding.spinner.setAdapter(adapter);
        binding.spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
            @Override
            public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
                binding.btn.setText(list.get(position));
            }

            @Override
            public void onNothingSelected(AdapterView<?> parent) {
                binding.spinner.setSelection(0);
            }
        });

    }
}


فيديو الشرح


لمزيد من المقالات

تعليقات