ارسال یک آرایه (Array) (از نوع رشته یا عدد یا ...) از یک Activity به Activity دیگر، در برنامه نویسی
شنبه 17 مرداد 1394 6:06 PM
برای ارسال مقدار از Activity فعلی، روش putExtra به کار می رود. بهتر است ابتدا شکل کلی آن را بیان کنیم و بعد به صورت جداگانه، شیوه استفاده از آن برای انواع متغیرها (رشته، عدد و ...) را شرح بدهیم. شیوه کلی استفاده از روش putExtra ، به صورت زیر می باشد :
که در آن، intent ، یک شیء (object) از نوع Intent می باشد (یک شیء که از کلاس Intent ساخته شده)(که از آن برای رفتن به Activity بعدی استفاده می کنیم). key باید به صورت یک رشته باشد که نامی منحصربفرد و انتخابی برای دریافت مقدار در Activity بعدی می باشد (زیرا ممکن است چندین مقدار را ارسال کنیم و بنابراین باید هر کدام، یک نام منحصربفرد (key) داشته باشند تا بتوانیم آنها را به صورت جداگانه دریافت کنیم). value نیز همان مقداری است که می خواهیم به Activity بعدی ارسال شود.
درون Activity اول، کدهای زیر را می نویسیم :
دقت کنید که NewActivity ، نام Activity جدیدی است که وارد آن خواهیم شد و اطلاعات به آن ارسال می گردد.
سپس درون Activity دوم، باید کدهای زیر را بنویسیم :
البته شرط if را می توان برداشت. در رشته (String) با نام myVariable_2 ، مقدار مورد نظرمان ذخیره شده است.
قبل از دریافت مقدار، می توانیم چک کنیم که آیا اصلا مقداری با آن نام ارسال شده است یا خیر (با دستور if) :
درون Activity اول، کدهای زیر را می نویسیم :
دقت کنید که NewActivity ، نام Activity جدیدی است که وارد آن خواهیم شد و اطلاعات به آن ارسال می گردد.
سپس درون Activity دوم، باید کدهای زیر را بنویسیم :
البته شرط if را می توان برداشت. در متغیر با نام myVariable_2 (که از نوع int می باشد)، مقدار مورد نظرمان ذخیره شده است.
همان طور که مشاهده کردید، در Activity دوم، برای دریافت رشته (String)، از روش getStringArray و برای دریافت عدد (int)، از روش getIntArray استفاده شد. بنابراین برای هر نوع متغیر، باید تنها روش (method) مربوط به آن را بدانیم. برای پیدا کردن این روش، در برنامه eclipse ، نشانگر موس را بعد از عبارت extras.get برده (کلیک می کنیم تا نشانگر در آنجا قرار بگیرد) و کلیدهای Ctrl و Space را به صورت همزمان از کیبورد فشار می دهیم تا تمامی روش های قابل انتخاب، نمایش داده شوند :
مدیر تالار های: