رفتن به مطلب
انجمن اندروید ایران | آموزش برنامه نویسی اندروید و موبایل
  • android.png.1fab383bc8500cd93127cebc65b1dcab.png

چگونگی استفاده از یک ویجت در دو اکتیویتی


پست های پیشنهاد شده

درود بر دوستان

دوستان میشه از یک ویجت در دو اکتیویتی استفاده کرد؟

من یک سیک بارو امتحان کردم هنگ کرد و در اکتیویتی دوم قابل استفاده نبود باید چکار کنم؟

لینک ارسال
به اشتراک گذاری در سایت های دیگر

بله یعنی مثلا ما در فایل ایکس ام ال اکتیویتی اول که یک سیک بار داریم از مقدار پروگرس اون توی فایل جاوای اکتیویتی دوم استفاده کنیم و اگر مقدارش در اکتیویتی اول تغییر کرد در دوم هم تغییر کنه

لینک ارسال
به اشتراک گذاری در سایت های دیگر

سلام

مقدار سیک بار اکتیویتی اول را در یک متغیر ذخیره کن و بعد از آن متغیر در اکتیویتی دوم استفاده کن.

تست شده ٰ شدنیه.

فقط یادت باشه متغیر رو public درست کن تا در اکتیویتی دوم قابل دسترسی باشه.

لینک ارسال
به اشتراک گذاری در سایت های دیگر

راهی که دوستمون گفتن شدنیه

اما به نظرم روش اصولی تر استفاده از پیغام های Intent به هر حال خود دانی

لینک ارسال
به اشتراک گذاری در سایت های دیگر

توضیح کاملش که زیاده فقط یه توضیح کلی بهت میدم:

وقتی از اکتیویتی اول میخوای بری اکتیویتی دوم باید توی intent ای که تعریف میکنی با putExtra مقدار سیک بار رو قرار بدی و وقتی به اکتیویتی دوم رفت اون مقدار رو از intent بگیری و مقدار سیک بار اکتیویتی دوم رو برابر با اون مقدار بکنی

وقتی میخوای از اکتیویتی اول به دوم بری به جای startActivity باید startActivityForResult استفاده کنی. باز کردن اکتیویتی دوم به این روش باعث میشه که وقتی اکتیویتی دوم رو میبندی اکتیویتی اول منتظر یه پیغام از اکتیویتی دوم باشه که این پیغام همون مقدار سیک بار در اکتیویتی دومه

کار سختی نیست باید با متدهای

startActivityForResult

onActivityResult

setResult

آشنا بشی که میتونی سرچ کنی

لینک ارسال
به اشتراک گذاری در سایت های دیگر

ممنون به نظر میاد راه متغیر آسون تر باشهفقط یه سوال وقتی متغیری که مقدار سیک بارو میگیره به صورت public تعریف کنم توی اکتیویتی دوم چطور فراخوانی بشه؟

لینک ارسال
به اشتراک گذاری در سایت های دیگر

متغیر رو به صورت استاتیک تعریف کن توی اکتیویتی اول و بعد توی اکتیویتی دوم با استفاده از نام کلاس اکتیویتی اول به اون متغیر دسترسی پیدا کن

مثلا

FirstActivity.seekValue

متغیر هم به این صورت تعریف کن

public static int seekValue;

لینک ارسال
به اشتراک گذاری در سایت های دیگر

این هم مثال:

توی اکتیویتی اول مقدار سیک بار رو با اینتنت بفرست

[shcode=java]@Override

    protected void onListItemClick(ListView l, View v, int position, long id) {

        Intent intent = new Intent(First.this,Secend.class);

        intent.putExtra("sb", seekbar);

        First.this.startActivity(intent);

    }[/shcode]

بالای oncreate یک متغیر رو از نوع intتعریف می کنی تا مقدار سیک بار رو از اکتیویتی اول بگیری :

[shcode=java]private int sb;[/shcode]

و در اکتیویتی دوم در OnCreate از طریق باندل مقدار رو میگیری :

[shcode=java]Bundle ex = getIntent().getExtras();

        sb= ex.getString("sb");[/shcode]

لینک ارسال
به اشتراک گذاری در سایت های دیگر

سلام

چند راه داری

1 - به صورت استاتیک تعریف کنی

2 - putextera کنی

3 - از sharedperefrences استفاده کنی

من راه سومی رو پیشنهاد میکنم

یا حق

لینک ارسال
به اشتراک گذاری در سایت های دیگر

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .

مهمان
ارسال پاسخ به این موضوع...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

×
×
  • اضافه کردن...