سلام به دوستان عزیزم
چطور میتونم از یک Activity به activity دیگر مقداری رو ارسال کنم .... اصلا امکان پذیر هست ؟
میخوام یه جوراییی یه متغییر سراسری داشته باشم
مرسی از همه
سلام به دوستان عزیزم
چطور میتونم از یک Activity به activity دیگر مقداری رو ارسال کنم .... اصلا امکان پذیر هست ؟
میخوام یه جوراییی یه متغییر سراسری داشته باشم
مرسی از همه
بله امکان پذیر هست
در کلاس اکتیویتی اول :
Bundle bundle = new Bundle();
bundle.putString(“param″, “test”);
Intent newIntent = new Intent(this.getApplicationContext(), ActivityClassName2.class);
newIntent.putExtras(bundle);
startActivityForResult(newIntent, 0);
در کلاس اکتیویتی دوم
Bundle bundle = this.getIntent().getExtras();
String param = bundle.getString(“param″);
سلام
این فیلم رو ببینین :
گرفتن اطلاعات و انتقال به صفحه بعد
با مقادیر استاتیک هم میشه و فکر کنم قدرت بیشتری هم بهت میده
آیا میشه هر نوع داده ای رو ارسال کرد؟
مثلا list ؟
به طور کلی bundle توانایی دریافت دیتا های اصلی (boolean,byte,int,string,double,.....) به صورت تکی و آرایه ای داره. با توجه به اینکه هر ابجکت دیگه ای از این نوع داده ها ساخته شده اند پس محدودیتی برای انتقال نیست.
مثلا اگر لیست شما string باشه به صورت یه آرایه از string ارسال میکنید. یا اگر از نوع یه ابجکتی باشه که 3 تا عدد صحیح و 2 تا sting داخلش هست. 5 تا آرایه داخل باندل گزاشته میشه. متد های کلاس bundle رو یه نگاه کنید متوجه میشید.
یه مورد دیگه ای که تو پست قبلی یادم رفت بگم این هست اینه که اگر شما ابجکتی دارید که تو همه جای برنامه استفاده میشه و نمیخواید اون رو به صورت استاتیک تعریف کنید میتونید یه کلاس به اسم پروژه تعریف کنید و اون رو از Application مشتق کنید. تمام تابع ها و متغییر هایی که داخل این کلاس به طور پابلیک تعریف بشند در همه جای برنامه قابل دسترسی هستند. مثلا یه متد به اسم X داخل این کلاس تعریف میکنیم. تو هرجای برنامه که نیاز به این متد داشتیم با صدا زدن getApplication.X(); میتونید به اون متد دسترسی داشته باشید.
بسته به شرایط میتونید از یکی از این روش ها استفاده کنید.
سلام اگر بخوایم یک مقدار رو از دیتابیس بگیریم در یک اکتیویتی و اون رو در اکتیویتی دیگر در دیتابیس استفاده کنیم چه باید بکنیم؟