آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

مشکل در ارسال مقادیر لیست ویو به یک اکتیویتی..(حل شد).

oMiD4gApp  9 سال پیش  9 سال پیش
0 0

سلام دوستان

سوال اصلاح شد.

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

مشکلم اینه که : با هر دکمه که وارد که وارد لیست ویو میشم و روی ایتم هاش کلیک میکنم مقادیر ثابتی میفرسته به اکتیویتی اخر

مثال:من با دکمه اول که میرم به لیست ویوکه 10 ایتم داره. با کلیک روی هر ایتم اسم ایتم به فارسی میره به اکتیویتی اخر

حالا اگر با دکمه دوم برم به لیست ویو و روی هر ایتم کلیک کنم باز هم اسم اعداد یک تا 10 رو میفرسته به اکتیوتی آخر!(دلیلشم میدونم چون من توی اکتیویتی اخر position رو میگیرم و میگم اگه 1 بود اینکارو بکن و تا 10 تا اینجا درست اما وقتی با دکمه دوم میرم به لیست ویو و روی هر ایتم کلیک میکنمم چون position هر ایتم دوباره از 0 ساخته میشه عملیات دکمه اول رو اجرا میکنه)

+1 0
سلام سوالت خیلی مبهمه.شما میتونید وقتی که رویه هر یک از ایتم های لیست ویو اول کلیک شد position رو بفرستید به لیست ویو دوم و طبق این مقدار ارسالی ایتم های لیست ویو دوم رو تعیین کنید. (9 سال پیش)
+1 0
سلام . شما میتونی برای لیست ویو اولی یه اینترفیس Listener تعریف کنی با این روش با کلیک بر روی هر کدوم از آیتم های لیست اولی متوجه میشی و می تونی لیست دوم رو با توجه به لیست اول آماده کنی (9 سال پیش)
0 0
سوالم رو واضح تر پرسیدم... (9 سال پیش)
+1 0
شما باید همراه position یه مقدار هم بفرست به اکتیویتی آخر که بفهمه تویه صفحه ی اول کدوم دکمه رو انتخاب کردید یا میتونید یه کار راحت تر کنید اونم اینکه بیاید یه متغیر بولیین تویه کلاس G تعریف کنید ،وقتی که رویه دکمه اول کلیک کرد true بشه وقتی رویه دومی کلیک کرد false بشه بعدشم یه شرط بزارید تویه اکتیویتی آخر که اگه فلان بود فلان کارو بکنه و.. (9 سال پیش)
 برای این سوال 2 پاسخ وجود دارد. مشاهده پاسخ صحیح
پاسخ به سوال 
oMiD4gApp  9 سال پیش
0 0

متاسفانه هر کار کردم درست نشد

این بخش دکمه صفحه اول هست..که میره به صفحه دوم و یه مقدار هم میفرسته به صفحه مورد نظر 

 btnTwo.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View arg0) {
Intent intent = new Intent(form_main.this, form_a.class);
put_form_a = 200;
intent.putExtra("PAGE", put_form_a);
//
Intent hadis = new Intent(form_main.this, form_b.class);
put_form_b = 200;
hadis.putExtra("PUTMAIN", put_form_b);
form_main.this.startActivity(intent);
}
});
 

توی صفحه اخر هم با دوتا Bundle مقادیر رو میگیرم..یکی مقدار پوزیشن که از layout root میاد و یکی هم اینی که بعد کلیک روی دکمه صفحه اول هست

  Bundle extras = getIntent().getExtras();
if (extras != null) {
position = extras.getInt("page");
}
//
Bundle extra = getIntent().getExtras();
if (extra != null) {
put_form_main = extra.getInt("PUTMAIN");
}
 

بعد هم این شرط ها

 if (put_form_main == 100) {
if (position == 0) {
//code haye bakhsh daryaft az db
String[] name = G.returnResult("table", "name");
String[] family = G.returnResult("table", "text");
for (int i = 0; i < 17; i++) {

StructApplication_b note = new StructApplication_b();
note.a = name[i];
note.b = family[i];
G.app.add(note);
}
adapter.notifyDataSetChanged();
} else if (position == 1) {....
.
.
}
if(put_form_main == 200) {
if(position == 0 ) {
..
}

}
0 0
من کد هارو به طور کامل نگاه نکردم ولی فک کنم مشکل از position = extras.getInt("page"); باشه باید page رو با حرف بزرگ بنویسی.کدت هم به نظرم اشتباه میاد شما بگید چه چیزی میخواید بنویسید من براتون مینویسم میفرستم براتون. (9 سال پیش)
0 0
خبر مشکل از page نیست چون فقط یه استرینگ هست(برای خوانایی بیشتر از حروف بزرگ استفاده میشه فقط) ببین اصلا این کار ممکن هست که:من با زدن یک دکمه وارد اکتیویتی دوم بشم اما همزمان یک مقدار به اکتیوتی سوم بره! اگه کدش رو بدید که ممنون میشم..یک صفحه با دو دکمه ، یک لیست ویو و یک اکتیوتی که مقادیر با کلیک روی لیست ویو یه متنی میبره به اکتویتی سوم (9 سال پیش)
+1 0
چرا از اکتیویتی استفاده می کنی و می خوای بین اونها انتقال اطلاعات انجام بدی ؟ ؟از فرگمنت ها استفاده کن اینجوری کارت خیلی راحت تر میشه !! (9 سال پیش)
0 0
پروژه رو بفرستید برام تا بهتر بتونم نگاه کنم. الان تویه قسمت btnTow بخش پایینیش به چه کار میاد ؟ اصلا شما اون قسمت رو صدا نمیکنید که! فقط شما اینتنت رو استارت میکنید. (9 سال پیش)
پاسخ به سوال 
oMiD4gApp  9 سال پیش
+1 0

 پاسخ صحیح

با سپاس ..شمکل حل شد ، باتشکر از همه دوستان خصوصا کاربر  FSR

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

یک متغییر int تعریف کردم توی کلاس G و زمانی که از صفحه اصلی دکمه ای رو میزدم همزمان مقدار متغییر کلاس G رو عوض میکردم و در اکتیویتی اخر با دریافت مقدار متغییر در کلاس G شرط میذاشتم

+1 0
خدا رو شکر حل شد.لذت برنامه نویسی به همین خطاهاش هستش دیگه. (9 سال پیش)

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