آموزش اندروید استودیوآموزش های برنامه نویسی اندروید

آموزش برنامه نویسی اندروید با اندروید استودیو (بخش بیست و نهم: کار با لیست کشویی Spinner)

[vc_row][vc_column][vc_column_text]

در این بخش از آموزش به Spinner ها یا همان لیست های کشویی می پردازیم. از این لیست های کشویی بارها در اندروید دیده ایم و در این بخش با استفاده از مثالی، میخوایم یک Snipper ایجاد کنیم و در مورد آن، صحبت کنیم.

لیست های کشویی امکان انتخاب یک مورد از مواردی که وجود دارد را به ما می دهد. مزیت لیست کشویی در آن است که می تواند موارد زیادی را در خود جای دهد ولی جای زیادی را اشغال نکند. فقط هنگامی که به آن احتیاج داریم، محتویات آن نشان داده می شود.

نمونه ای از یک لیست کشویی (Spinner) را در عکس زیر، مشاهده می نمایید.

spinner-hint-gsm-developers[/vc_column_text][vc_column_text]

کاری که در اینجا می خواهیم بکنیم اینست که لیست کشویی را ایجاد نماییم و سپس مقداردهی نماییم. سپس قابلیت کلیک را برای هرکدام از آنها فعال می کنیم.[/vc_column_text][/vc_column][/vc_row][vc_row][vc_column][vc_column_text]

ابتدا یک پروژه به اسم Spinner-Gsm ایجاد می کنم.  در پروژه ای که ایجاد کرده ایم یک Spinner از قسمت ویجت های Palette به لایه اپلیکیشن خود می کشیم.

[/vc_column_text][vc_text_separator title=”کد Spinner” i_icon_fontawesome=”fa fa-android” i_color=”green” color=”purple” border_width=”2″ add_icon=”true”][vc_column_text]
<Spinner
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="110dp"
        android:id="@+id/spinner" />
[/vc_column_text][vc_column_text]

برای مقدار دهی به Spinner، باید به قسمت کد جاوای برنامه، یعنی MainActivity.java برویم.

سپس مراحل زیر را برای اضافه کردن آیتم به Spinner دنبال می کنیم:

  1. برای این کار، ابتدا یک رشته تعریف می کنیم و مواردی که می خواهیم در لیست کشویی ما نمایش داده شود را در رشته مقدار دهی می نماییم.
  2. سپس لیست کشویی یا همان Spinner را با استفاده از ID به کد جاوای برنامه معرفی می کنیم.
  3. در مرحله سوم باید یک ArrayAdapter به رشته (string) اضافه نماییم. این کار باعث می شود که اطلاعات از رشته ای که تعریف کرده بودیم گرفته شود و سپس به صورت لیست شده به لیست کشویی ما فرستاده شود.
  4. برای نمایش اداپتر در لیست کشویی، Spinner را باید به اداپتر، Set نماییم.
  5. در مرحله ی آخر به Spinner یک رویداد اضافه می کنیم تا در هنگام کلیک بر روی هر کدام از آیتم ها، یک توست به کاربر نمایش داده شود.
[/vc_column_text][vc_column_text]

می توانید کد مربوط به مراحل بالا در زیر مشاهده کنید.

مراحل به صورت کامنت شماره گذاری شده اند.

[/vc_column_text][vc_text_separator title=”کد کامل جاوا MainActivity” i_icon_fontawesome=”fa fa-android” i_color=”green” color=”purple” border_width=”3″ add_icon=”true”][vc_column_text]
package com.gsm_developers.spinner_gsm;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Spinner;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {

//1
    String[] web = { "Spinner1", "Spinner2", "Spinner3", "Spinner4", "Spinner5", "Spinner6", "Spinner7", "Spinner8" };

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
//2
        Spinner sp = (Spinner) findViewById(R.id.spinner);

//3
        ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,  android.R.layout.simple_dropdown_item_1line,web);
        adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

//4
        sp.setAdapter(adapter);
        sp.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
//5
            @Override
            public void onItemSelected(AdapterView<?> arg0, View arg1,int position, long id) {
                Toast.makeText(MainActivity.this,"U Choosed : " +  web[position],Toast.LENGTH_SHORT).show();
            }

            @Override
            public void onNothingSelected(AdapterView<?> arg0) {

            }
        });
    }
}
[/vc_column_text][/vc_column][/vc_row][vc_row][vc_column][vc_column_text]

کار به پایان می رسد. برنامه را اجرا می کنیم.

مشاهده می کنید که یک لیست کشویی باز شده است که وقتی بر روی آن می زنیم، آیتمی را که انتخاب کرده ایم به ما نشان می دهد.

[/vc_column_text][vc_column_text]android-studio-beginners-gsm-developers_94[/vc_column_text][/vc_column][/vc_row][vc_row][vc_column][vc_btn title=”بخش بیست و هشتم: پیاده سازی RatingBar در اپلیکیشن اندرویدی” color=”green” i_icon_fontawesome=”fa fa-android” link=”url:http%3A%2F%2Fwww.gsm-developers.com%2Fratingbar-android-studio|title:%D8%A8%D8%AE%D8%B4%20%D8%A8%DB%8C%D8%B3%D8%AA%20%D9%88%20%D9%87%D8%B4%D8%AA%D9%85%3A%20%D9%BE%DB%8C%D8%A7%D8%AF%D9%87%20%D8%B3%D8%A7%D8%B2%DB%8C%20RatingBar%20%D8%AF%D8%B1%20%D8%A7%D9%BE%D9%84%DB%8C%DA%A9%DB%8C%D8%B4%D9%86%20%D8%A7%D9%86%D8%AF%D8%B1%D9%88%DB%8C%D8%AF%DB%8C||” add_icon=”true”][vc_btn title=”بخش سی: کار با ListView در اندروید” color=”green” i_icon_fontawesome=”fa fa-android” link=”url:http%3A%2F%2Fwww.gsm-developers.com%2Flistview-android-studio|title:%D8%A8%D8%AE%D8%B4%20%D8%B3%DB%8C%3A%20%DA%A9%D8%A7%D8%B1%20%D8%A8%D8%A7%20ListView%20%D8%AF%D8%B1%20%D8%A7%D9%86%D8%AF%D8%B1%D9%88%DB%8C%D8%AF||” add_icon=”true”][vc_btn title=”در صورت ارائه سوالات و مشکلات خود به انجمن اختصاصی اندروید مراجعه نمایید” color=”blue” link=”url:http%3A%2F%2Fforum.gsm-developers.com|title:%D8%AF%D8%B1%20%D8%B5%D9%88%D8%B1%D8%AA%20%D8%A7%D8%B1%D8%A7%D8%A6%D9%87%20%D8%B3%D9%88%D8%A7%D9%84%D8%A7%D8%AA%20%D9%88%20%D9%85%D8%B4%DA%A9%D9%84%D8%A7%D8%AA%20%D8%AE%D9%88%D8%AF%20%D8%A8%D9%87%20%D8%A7%D9%86%D8%AC%D9%85%D9%86%20%D8%A7%D8%AE%D8%AA%D8%B5%D8%A7%D8%B5%DB%8C%20%D8%A7%D9%86%D8%AF%D8%B1%D9%88%DB%8C%D8%AF%20%D9%85%D8%B1%D8%A7%D8%AC%D8%B9%D9%87%20%D9%86%D9%85%D8%A7%DB%8C%DB%8C%D8%AF||”][/vc_column][/vc_row]

Arash

طراح سایت و برنامه نویس
دکمه بازگشت به بالا