erfan4

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

11 ارسال در این موضوع قرار دارد

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

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

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

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


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

یعنی چی ؟ یعنی مثلا سیک بار اکتیویتی دومو تغییر بدی سیک بار اولی هم تغییر کنه؟

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


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

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

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


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

سلام

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

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

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

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


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

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

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

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


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

مصطفی جان با 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 استفاده کنی

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

یا حق

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


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

برای ارسال نظر یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

برای اینکه بتوانید نظر ارسال کنید نیاز دارید که کاربر سایت شوید

ایجاد یک حساب کاربری

برای حساب کاربری جدید در انجمن ما ثبت نام کنید. عضویت خیلی ساده است !


ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید


ورود به حساب کاربری