بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]
پرسش و پاسخ

برگرداندن مقدار Spinner

مدیریت گفتگو
تیرداد 11 سال پیش
آخرین تغییر: 11 سال پیش

سلام به همه دوستاااااااااااااااااااااااااااااان

یک Spinner ساختم که کاربر بتونه انتخاب کنه .

چطور میشه مقدار Spinner رو داخل یک متغیر String ریخت ؟

نظرات

پاسخ‌ها 3

احسان منصوری 11 سال پیش

با کد زیر می تونید در رویداد setOnItemClickListener اسپینر، مقدار اون رو بخونین:

 spinner.getSelectedItem().toString()

نظرات

احمد 11 سال پیش
با این خط کد میتونیم فقط اولین string از ارایه را بخونیم (اگر مستقیم استفاده کنیم ) ولی اگر از setOnItemSelectedListener استفاده کنیم فقط داخل این متد string قابل دستیابی هستش و retturn نداری فقط میتونی از راه دوم ببری تو یه کلاس جدا تعریف کنی و قرار بدی و یه string خروجی بگیری و در کلاس مورد نظر استفاده کنی
smAdmin 11 سال پیش
یکم پیچیدش کردی البته کاملا درست میگی
احسان منصوری 11 سال پیش
خب این چه کاریه؟ ما میخوایم روی هر آیتمی که کلیک شد، مقدارش برگردونده بشه. چرا لقمه رو میچرخونین دور سرتون؟
smAdmin 11 سال پیش
آآره درست میگی
احمد 11 سال پیش
احسان جان نمیدونم شاید من اشتباه میکنم ولی با این روش شما فقط اولین string از ارایه خونده میشه و ایتم های بعدی را نمیتونه بگیره ولی من پایین یه روش دیگه گزاشتم اگه فک میکنی اشتب میگم لدفن بگو مرسی
smAdmin 11 سال پیش

 myspinner.setOnItemSelectedListener(new OnItemSelectedListener() {

            @Override
            public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2, long id) {
                if (id == 0)
                {
                  ///اینجا میتونی یه مقداری را به یک متغیر نسبت بدی
                  // x = "ایتم اول "
                } else if (id == 1)
                {
                  // x = "ایتم دوم "
                }
            }


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

            }
        });

نظرات

احمد 11 سال پیش

setOnItemSelectedListener باید از این متد استفاده کنی همینطور که دوست عزیز گفتن..ولی در صورتی که بخواهی این مقدار string  را در جایی دیگر استفاده کنی دیگه نمیتونی از return  استفاده کنی پس برای اینکه کاملا مستقل از اکتیویتیت باشه اونا تو یه کلاس جدید تعریف

ublic class ActivitySpinerr extends Activity {

public String sp_string;
public int i = 0;


public String spinner(final String[] stringg, final Spinner spinner) {
final ArrayAdapter<String> adapter = new ArrayAdapter<String>(G.context, android.R.layout.simple_dropdown_item_1line, stringg);
adapter.setDropDownViewResource(android.R.layout.
simple_spinner_dropdown_item);
spinner.setAdapter(adapter);
spinner.setSelection(i);
spinner.setOnItemSelectedListener(new OnItemSelectedListener() {

@Override
public void onItemSelected(AdapterView<?> arg0, View arg1, int position, long arg3) {

sp_string = spinner.getSelectedItem().toString();
i = position;

}


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

}

});

return sp_string;
}


و داخل اکتویتی که بخواهیم میگیریمش

  final ActivitySpinerr test = new ActivitySpinerr();
String sample= test.spinner(arraylist string, spinner);

نظرات


پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .