ApA

برنامه نویسی اندروید spinner

ApA ۱۳۹۴/۱۲/۰۶ برنامه‌نویسی اندروید

باسلام و عرض خسته نباشید

میشه بگید که چطوری میشه در spinner چند تا دکمه بسازیم و سپس با کلیک به دکمه اول به یک صفحه مثلا 1 برود و در دکمه دوم به صفحه دوم برود و به همین صورت .

ممنون می شوم سریع جوابم را بدهید

پاسخ‌ها به این تاپیک
ApA
ApA
۱۳۹۴/۱۲/۱۱
خیلی ممحون پاسخم را پیدا کردم
ApA
ApA
۱۳۹۴/۱۲/۱۰
باسلام و تشکر فراوان خیلی خیلی ممنونم ان مشکلم حل شد ولی یک سوال دارم: چطوری می شود در یک layout دو تا spinner ایجاد کرد؟ ممنونتان می شوم اگر جوابم را بدهید
stack programer
stack programer
۱۳۹۴/۱۲/۰۷
سلام سعی کنید همیشه ارر را هم بفرستید.ارر ها راهنمای ما هستند.این سورس را چک کنید. http://stackoverflow.com/questions/19925136/spinner-which-launch-different-activity-with-each-item
ApA
ApA
۱۳۹۴/۱۲/۰۷

باسلامی مجدد من کدها را نوشتم ولی در بخش startActivity(intent); خطا می گیرد .لطفا راهنمایی ام کنید کد هایم به شکل زیر است (جاوا):

public class Irancel extends MainActivity { protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // Spinner element Spinner sp1 = (Spinner) findViewById(R.id.sp1); // Spinner click listener sp1.setOnItemSelectedListener((AdapterView.OnItemSelectedListener) this); // Spinner Drop down elements List categories = new ArrayList(); categories.add("@string/Preparation_of_charging_through_the_MTN_SMS_sending"); categories.add("@string/i_2"); categories.add("@string/i_1_3"); categories.add("@string/i_1_4"); // Creating adapter for spinner ArrayAdapter dataAdapter = new ArrayAdapter(this, android.R.layout.simple_spinner_item, categories); // Drop down layout style - list view with radio button dataAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); // attaching data adapter to spinner sp1.setAdapter(dataAdapter); } @Override public void onItemSelected(AdapterView<?> parent, View view, int position, long id) { // On selecting a spinner item String item = parent.getItemAtPosition(position).toString(); // Showing selected spinner item Toast.makeText(parent.getContext(), "انتخاب کنید" + item, Toast.LENGTH_LONG).show(); // final Intent intent; switch(position){ //go to the page = i_1 case 1: intent = new Intent(Irancel.this, i_1.class); break; //go to the page = i_2 case 2: intent = new Intent(Irancel.this, i_2.class); break; //go to the page = i_1_3 case 3: intent = new Intent(Irancel.this, i_1_3.class); break; //go to the page = i_1_4 case 4: intent = new Intent(Irancel.this, i_1_4.class); break; //go to the page = i_1_5 case 5: intent = new Intent(Irancel.this, i_1_5.class); break; //go to the page = i_1_6 case 6: intent = new Intent(Irancel.this, i_1_6.class); break; } startActivity(intent); } public void onNothingSelected(AdapterView<?> arg0) { // TODO Auto-generated method stub } }

ممنونتان می شوم پاسخم را بدهید

stack programer
stack programer
۱۳۹۴/۱۲/۰۷
تا اینجایی که حافظه من یاری می کنه برای نام گذاری از روش پاسکال وcamel case استفاده کنی،بهتر می بود. این لیک می گه بهتر ه از اندر اسکور استفاده نشود درنام گذاری اکتیویتی.... under score http://www.juce.com/forum/topic/android-activity-class-names-underscores-and-hair-loss

در پاسخ به

ApA
ApA
۱۳۹۴/۱۲/۰۷

باسلامی مجدد این ارور را می دهد :(مربوط به کد

:startActivity(intent);) variable 'intent' might not' have been initialized

ممنونم می شوم جوابم را بدهید

در پاسخ به

stack programer
stack programer
۱۳۹۴/۱۲/۰۷

فایل های مورد نیاز را که ایمپورت کردیimport android.content.Intent; اررر داره می گه این خط مقدار دهی اولیه نشده،کلاس ها را نامش چک کن روش غیر صریح اینتنت اینه

// Explicit Intent by specifying its class name Intent i = new Intent(FirstActivity.this, SecondAcitivity.class); // Starts TargetActivity startActivity(i);

نام کلاس ها هم چک شود به این اموزش هم مراجعه شود http://www.tutorialspoint.com/android/android_intents_filters.htm

در پاسخ به

ApA
ApA
۱۳۹۴/۱۲/۰۷
باسلام و تشکر از پاسخگویی عالیتان خیلی ممنونم از پاسخگویی عالیتان و مشکلم حل شد فقط یک سوال گفتید می تونم به جای case ها نام رشته ها را بنویسم؟ باتشکر
stack programer
stack programer
۱۳۹۴/۱۲/۰۷
case option یعنی اینجا چند تا کیس داریم،که به جای اپشن می شه نام یکی از منو های مورد نظرت بنویسی: case menu1 open activity1 case menu2 open activity 2

در پاسخ به

stack programer
stack programer
۱۳۹۴/۱۲/۰۶

سلام من سوالت را این طور فهمیدم،که یک اسپینر می خوای تعریف کنی با سه تا گزینهِ(یعنی یگ منوی دراپ دون)دارد،حالا باید یک با کلیک روی هر کدام به یک اکتیویتی جدید برود. اول برو به لینک زیر منودارپ دون مورد نظر خودتو بساز:اصلا سخت نیست دوتا کلاس تعریف کرده http://www.tutorialspoint.com/android/android_spinner_control.htm بعد که راهش انداختی،یک تگه کد خیلی مهمه،یعنی وقتی کلیک شد چه رویدادی انجام شود:

public void onItemSelected(AdapterView<?> parent, View view, int position, long id) { // On selecting a spinner item String item = parent.getItemAtPosition(position).toString(); // Showing selected spinner item Toast.makeText(parent.getContext(), "Selected: " + item, Toast.LENGTH_LONG).show();

حالا باید اینجا یک متدی تعریف کنی که می خوای اکتیوتی جدید را باز کند.امیدوارم تا اونجا خوب پیش امده باشی

final Intent intent; switch(position){ case 1: intent = new Intent(CurrentActivity.this, YourNewActivity.class); break; case 2: intent = new Intent(CurrentActivity.this, YourNewActivity1.class); break; } startActivity(intent);

یک اینتنت تعریف کردیم،ساختار یک سوییچ دارد می گه کیس 1 فلان اکتیویتی باز کن و...................کیس 2 و......... برای اپشن مورد استفاده در کیس اینجا تو می توانی از نام رشته ایتم استفاده کنی.......... اینم یعنی شروع اکتیویتی مد نظر startActivity(intent); برای ساختن یک دکمه که با کلیک روی ان یک اسپینر باز بشه این سورس خوبه http://stackoverflow.com/questions/13552081/how-do-i-make-a-button-to-create-a-new-spinner-on-click