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

مشاهده اکتیویتی از طریق customControl

مدیریت گفتگو
sara 12 سال پیش
آخرین تغییر: 12 سال پیش

سلام دوستان 

کسی میدونه چطور میشه از روی کلاس customSpiner که استاد در آموزشها گفتند هنگام کلیک دگمه یک اکتیویتی باز شه؟ کد زیر خطا میده.

 Intent i = new Intent(getApplicationContext(), Activity1.class);
startActivity(i);

نظرات

پاسخ‌ها 1

CreativeBoy 12 سال پیش

سلام

تصحیح شد

برای این که شما بتونید بوسیله یک customSpinner به یک اکتیویتی دیگه برید به این شکل میتونید عمل کنید.

1. اول کلاس G رو بسازید (extends Application) و توی این کلاس یک فیلد به این شکل بسازید.

 public static Activity currentActivity;

2. کلاس ActivityEnhanced رو بسازید ( extends Activity)  و متد onResume این کلاس رو به این شکل بنویسید.

@Override
protected void onResume() {
    G.currentActivity = this;
    super.onResume();
}

3. حالا اکتیویتی که قراره customControl ها رو توی اون قرار بدید باید از کلاس extends ، ActivityEnhanced  بشن (اگه برای بقیه اکتیویتی ها هم همین کارو انجام بدید برنامه زیباتری دارید.)

4. حالا توی customSpinner هر جا که خواستید از Intent استفاده کنید میتونید به این شکل استفاده کنید

Intent intent = new Intent(G.currentActivity, ActivityTest.class);
G.currentActivity.startActivity(intent);

 

موارد بالا تست شده و جواب میده، اگه بازم نیاز به راهنمایی هست بفرمایید

موفق باشید

نظرات

sara 12 سال پیش
متاسفانه مشکل اینجاس که getApplicationContext رو نمیشناسه اگر کارکردین لطفا کد کاملش رو درج نمایید متشکرم
CreativeBoy 12 سال پیش
یه کار دیگه هم میتونید بکنید: ()activityName.this.startActivity یعنی اسم اکتیویتی که توش هستید رو مستقیما همین جا(به جای activityName) بنویسید. ( اگه از کلاس G هم استفاده کنید بهتره، استاد آموزش دادن. )
sara 12 سال پیش
من یه کلاس دارم که از lenearlayout اکستند شده و می خوام تو کلیک دکمه یه اکتیویتی رو نمایش بدهم تو یه همچین کلاسی startActivity وجود نداره شما خودتون تست کردین ؟ جواب گرفتین ؟
sara 12 سال پیش
متشکرم از وقتی که گذاشتید .مشکلم حل شد
CreativeBoy 12 سال پیش
خواهش، حالا یه سوال واسه من پیش اومده: شما کلاس G رو توی manifest تعریف کردید؟ یه چیز عجیب که واسه من پیش اومده اینه که من این کلاس رو توی manifest تعریف نکردم ولی برنامه بدن اشکال اجرا شد.
سپهر 12 سال پیش
بعضی از اکتویتی های من از یک اکتیویتی دیگه extend شدن برای اون ها چه چاره ای میشه اندیشید ؟

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