بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]
پرسش و پاسخ

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

مدیریت گفتگو
سجاد زهره ای 11 سال پیش
آخرین تغییر: 11 سال پیش

سلام من یه تب دارم که میخوام یه سری اطلاعات بین اکتویتی ها جابه جا کنم!حالا چون سه تا تب دارم نمیدونم چطور بفهمم که کاربر کدومشو انتخاب کرده که اطلاعاتو بفرسم چون واسه ارسال اطلاعات حتما باید اکتویتی مقصد رو بهش بگی!ممنون میشم کمکم کنید

نظرات

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

پاسخ‌ها 2

سجاد زهره ای 11 سال پیش

نگاه کنید مثلا من سه تا تب دارم مثل عکس بالا!حالا میخوام مثلا کاربر وقتی داخل تب photos هست اطلاعات ارسال کنم!حالا فرقی نمیکنه بره تب songs یا اینکه بره تب video در هر صورت میخوام اطلاعات بفرسم!همینجور که میدونید برای ارسال اطلاعات فقط نام اکتیویتی مقصد رو مینویسی!حالا من نمیدونم کاربر به کدوم تب میخواد بره!چجور اطلاعت بین تب ها انتقال بدم؟درست منظورمو رسوندم؟

 	@Override
protected void onPause() {

Intent intent = new Intent(G.context, نام اکتیویتی مقصد);
intent.putExtra("title", ui.edtSubject.toString());
intent.putExtra("description", ui.edtTextPosts.toString());

super.onPause();

نگاه کد بالا بکنید من هنگام ارسال اطلاعات باید نام اکتیویتی مقصد رو بگم حالا از کجا بدونم کاربر به کدوم تب رفته که اطلاعات ارسال کنم؟

نظرات

Hajhosseini 11 سال پیش
هنوز کامل متوجه نشدم ولی تمام حالت هارو میگم. اگر میخواید اطلاعات رو به یک اکتیویتی دیگر ارسال کنید، خوب تب انتخاب شده رو در یک متغیر ذخیره کنید و بگید اگر این تب انتخاب شده بود اطلاعات رو بفرست. اگر میخواید اطلاعاتتون رو مثلا به songs بفرستید : songs به هیچ وجه نباید اکتیویتی باشه، باید از فرگمنت ها استفاده کنید. برای ارسال هم فقط کافیه یک پارامتر ورودی به کانستراکتوری که توی فرگمنتتون ساختید بفرستید.
سجاد زهره ای 11 سال پیش
همون حالت دوم!!!من اکتیویتی استفاده کردم!!!!!!فرقش چیه؟
Hajhosseini 11 سال پیش

روش شما یکسری اشتباهات کلی داره.
با توجه به اطلاعاتتون 2 راه کلی برای دریافت اطلاعات وجود داره:
1: گرفتن کل اطلاعات در اکتیویتی و پاس دادن به فرگمنت ها
2: گرفتن اطلاعات در خود فرگمنت ها
روش اول : 
الف:(اگر از ویو پیجر استفاده میکنید) باید اطلاعات کاربر رو در اکتیویتی بگیرید و به آداپتری که به ویو پیجر متصل میکنید، ارسال کنید. (روش پیشنهادی)
ب:(اگر از ویو پیجر استفاده نکردید) باید یک پارامتر ورودی برای فرگمنت در نظر بگیرید و اطلاعات رو از اکتیویتی بهش ارسال کنید.(چون از درون فرگمنت میخواید به فرگمنت بعدی برید، باید یک متد در اکتیویتی تعریف کنید و از درون فرگمنت اون رو صدا بزنید تا فرگمنتی که در صفحه نمایش داده میشه رو عوض کنه)
روش دوم: در اکتیویتی فقط فرگمنت ها رو عوض کنید، و در خود فرگمنت تمام اطلاعات رو از دیتابیس، سرور و یا ... بگیرید.
هنوز هم بستگی به نوع اطلاعات و عملی که روشون انجام میشه داره.

در مورد تفاوت های فرگمنت و اکتیویتی هم باید سرچ کنید، استفاده از یک اکتیویتی در اکتیویتی دیگر اصلا کار درستی نیست، ولی شما میتونید هرچقدر که بخواید به یک اکتیویتی فرگمنت اضافه کنید.

نظرات


پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .