آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
مشکل عدم دسترسی خریداران پیشین به برخی آموزش ها برطرف شد
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

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

تیرداد  9 سال پیش  9 سال پیش
+1 0

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

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

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

 برای این سوال 3 پاسخ وجود دارد.
پاسخ به سوال 
احسان منصوری  9 سال پیش
+1 0

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

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

 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) {

            }
        });

پاسخ به سوال 
احمد  9 سال پیش
0 0

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);

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