انجمن سایت کلیدستان


رتبه موضوع:
  • 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
Spinner

Spinner

#1
سلام به همه.
دوستان،من در برنامم یک ابزار spinner دارم که چندتا آیتم داره.
حالا میخوام با انتخاب هرکدوم از این آیتم ها،به اکتیویتی خاصی هدایت بشه.
ممنون میشم کمکم کنید.
پاسخ

Spinner

#2
(۱۳۹۴/۱۲/۱۱, ۰۴:۳۱ ب.ظ)batman1 نوشته: سلام به همه.
دوستان،من در برنامم یک ابزار spinner دارم که چندتا آیتم داره.
حالا میخوام با انتخاب هرکدوم از این آیتم ها،به اکتیویتی خاصی هدایت بشه.
ممنون میشم کمکم کنید.

سلام
باید از متد setOnItemSelectedListener به صورت زیر استفاده کنی:
کد پی‌اچ‌پی:
sp.setOnItemSelectedListener(new OnItemSelectedListener() {

        @
Override
        
public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2,
                long arg3) {
        int m = arg2+1;
        
        
        
        switch(m){
        case 1:
            Toast.makeText(getApplicationContext(), "one", Toast.LENGTH_SHORT).show();
            break;
case 2:
    Toast.makeText(getApplicationContext(), "two", Toast.LENGTH_SHORT).show();    
            break;
case 3:
    Toast.makeText(getApplicationContext(), "three", Toast.LENGTH_SHORT).show();
    break;
        }
        
        
        
        }

        @Override
        public void onNothingSelected(AdapterView<?arg0) {
            
// TODO Auto-generated method stub
            
        
}
    }); 

sp که همون Spinner هست که شناساییش کردی، arg2 موقعیت آیتم کلیک شده است (دقیقا مثل لیست ویو) ، m هم دیگه معلومه arg2 هست بعلاوه 1 چون position از صفر شروع میشه بعلاوه یک کردیم کهاز 1 شروع شه، بعدشم که یه سویچ کیس برای شرط گذاری ساختیم و گفتیم اگه m مساوی با هرکدوم از این عددها بود یه مقداریرو با toast نمایش بده که اینجا شما بجای toast باید intent بذاری که بره به صفحات مختلف.
سوالی بود در خدمتم، یاعلی... coffee
پاسخ
 سپاس شده توسط sohrabjam ، batman1 ، mahdi10539

Spinner

#3
یعنی نمیشه بگی که اگه فلان آیتم رو انتخاب کرده بود،برو به این اکتیویتی؟
پاسخ

Spinner

#4
(۱۳۹۴/۱۲/۱۲, ۰۸:۱۳ ب.ظ)batman1 نوشته: یعنی نمیشه بگی که اگه فلان آیتم رو انتخاب کرده بود،برو به این اکتیویتی؟

خب دوست عزیز بنده چی گفتم؟؟ شما اول یه آرایه از جنس String میسازی بعد یه ArrayAdapter میسازی و مقدار آرایه اولیو میریزی تو Spinner بعد مثلا مقدارای آرایه اولی به این صورته:
کد پی‌اچ‌پی:
String[] myItems 
{
"صفحه اول" "صفحه دوم" }; 

بعد خب مسلما Spinner دارای دو آیتم میشه، آیتم اول میشه "صفحه اول" آیتم دوم هم میشه "صفحه دوم" بعد با استفاده از اون متد موقعیتشونو در Spinner به دست میاری، یعنی موقعیت آیتم "صفحه اول" برابر با صفر و موقعیت آیتم "صفحه دوم" برابره با 1 ، که اونجا بعلاوه یک کردیمش که صفر حذف بشه و موقعیت ها از 1 شروع بشن یعنی میشه 1و2 بعد شرط گذاری کردیم که اگه کلیک شد روی آیتمی که موقعیتش برابر با یک هست یه کدی اجرا بشه و همینجوری برای دیگر موقعیت ها.
بهتره خودتون حلش کنید و گرنه اگه بازم به مشکل برخوردید میتونیم یه پروژه براتون بسازم و آپلود کنم تا با کمک اون کد هاتونو بنویسید.
موفق باشید...
پاسخ
 سپاس شده توسط batman1

Spinner

#5
بله...ممنون.
نه.......گفتم شاید مثل C# میشه همچین کاری انجام داد.
البته داخل اینم میشه،اما باید شماره بدی.
خیلی لطف کردید.
پاسخ
 سپاس شده توسط sinabelle

Spinner

#6
(۱۳۹۴/۱۲/۱۳, ۱۲:۳۸ ب.ظ)batman1 نوشته: بله...ممنون.
نه.......گفتم شاید مثل C# میشه همچین کاری انجام داد.
البته داخل اینم میشه،اما باید شماره بدی.
خیلی لطف کردید.

سلام
دوست عزیز اینجا هم میشه براساس متن اون آیتم شرط گذاری کنی ولی خب چون اینجا آیتم های ما فارسی هستند شاید به مشکل بخوریم و اینکه با استفاده از position بهتر از آب در میاد و کد هامون حرفه ای و تمیز تر میشن!!!
موفق باشید...
پاسخ
 سپاس شده توسط شماره مجازی امارات ، تلگرام ضد فیلتر 2023


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان