PDA

View Full Version : رفتن ازیک اکتیویتی اول به اکیتویتی دوم با فشار یکButton واجرای یک تابع خاص از اکتیویتی دوم



akbar_online
دوشنبه 06 شهریور 1391, 19:09 عصر
دوتا اکتیویتی داریم در اکتیویتی اول 3 Button داریم وقتی که بروی مثلا Button1 کلیک کردیم اکتیویتی دوم باز بشه و همچنین یک تابع(تابع مربوط به Button1 )از اکتیویتی دوم اجرا بشه و به همین صورت برای Buttonهای دیگر

hamid_hr
سه شنبه 07 شهریور 1391, 10:20 صبح
onClick () {
childActivity childAct = (childActivity) getTabHost().getChildAt(0).getContext();
childAct.huzzah();
}



public void huzzah() {
Log.d("stuff", "huzzah() called");
}


اینو از تو یک سایت پیداش کردم خودمم تست نکردم

http://stackoverflow.com/questions/5319648/android-how-to-call-function-of-activity-inside-of-tab-from-the-tabhost

akbar_online
سه شنبه 07 شهریور 1391, 15:25 عصر
کسی میدونه اینچجوری میشه

hamid_hr
سه شنبه 07 شهریور 1391, 19:33 عصر
من تستش کردم


ابتدا این خط از برنامه

public class main extends Activity

رو به این صورت تغییر بده

public class main extends TabActivity


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


Layer2 l2 = (Layer2)getTabHost().getChildAt(0).getContext();
l2.on();


خوب Layer2 نام فرم دوم هست و on هم نام تابعی که تو فرم دوم میخوایم اجراش کنیم که از قبل باید نوشته باشی


public void on()
{
کد تابع

}


امتحان کن

dr_jacky_2005
چهارشنبه 08 شهریور 1391, 11:33 صبح
رفتن از یک اکتیوی و ارسال مقداری دیتا به اکتیویتی بعدی:

Intent i = new Intent(currentAct.this, netxAct.class);
i.putExtra("key", "value");


بعدی توی onCreate اکتیویتی بعدی دیتا رو میگیری:

Intent i = getIntent();
i.getStringExtra("key");

بعد value رو چک کن ، اگه فُلانه ، تابع مربوطه رو اجرا کن