رفتن به مطلب
  • 0

متوقف کردن یک اکتیویتی بعد از یک بار اجرا


viki0028

سوال

درود و سلام خدمت همه دوستان و همکاران

 

سوالی داشتم از خدمت اساتید محترم انجمن

 

من یک سورس دارم که درواقع به عنوان فایل راهنما در ابتدای برنامه اجرا میشه.... این راهنما در یک اکتیوتی قرار دارد (MAIN) ......خوب حالا برنامه موقع اجرا اکتیوتی مین را اجرا میکنه که حاوی راهنمای برنامه به سبک تلگرام هستش) و بعدش میره برای اکتیوتی X ..... 

وقتی برنامه رو می بندم و دوباره اجرا میکنم نمیخوام دیگه بخش راهنما اجرا بشه....مستقیم بره برای اکتیویتی X ... 

 

از یک سری کدهای معمول استفاده کردم ولی بازم نشد. از دوستانی که تجربه بیشتری دارند درخواست راهنمایی دارم... سورس این برنامه را هم پیوست کردم.

sample_StartViewPager.rar

لینک ارسال
به اشتراک گذاری در سایت های دیگر

11 پاسخ به این سوال تاکنون داده شده است

ارسال‌های توصیه شده

معلومه دیگه شما اکتیویتی main رو نبستین واسه همینه اون صفحه سیاه 

تا زمانی که اکتیویتی main در حالت puse باشه برنامه از هیچ اکتیوتی دیگه خارج نمیشه به جز main یعنی اول باید به main برگرده و از اونجا خارج بشه 

این کد کامله دیگه

aria.Initialize("aria")
If aria.GetBoolean("firsttime",True) Then
	aria.SaveBoolean("firsttime",False)
	StartActivity(rahnama)
Else
	StartActivity(asli)
End If
Activity.Finish	

 

لینک ارسال
به اشتراک گذاری در سایت های دیگر

در در 1395/06/08, 11:14:28، fghdfg گفته است :

دوست عزیز شما یه سرچ میکردید به جواب کامل میرسیدید

از کتابخونه ariashared prefrecne استفاده کنید


Dim aria As AriaSharedPreferences
aria.Initialize("aria")
If aria.GetBoolean("firsttime",False) Then
	aria.SaveBoolean("firsttime",True)
	StartActivity(rahnamaee)
Else
	StartActivity(X)
	End IF

 

مهندس من طبق کاری که گفتید جلو رفتم.......ولی متاسفانه دوتا اتفاق افتاد

1.. وقتی برنامه را اجرا کردم بلافاصله رفت برای اکتیوتی x...... بدون اینکه اکتیوتی rahnama را اجرا کنه

2.... موقع برگشت زدن و خروج از برنامه یک صفحه مشکی نمایش داده میشه که باید مجدد روی برگشت کلیک کرد

 

من سورس رو خدمتتون پیوست میکنم خودتون یه نگاه بندازید.

دقیقا نمیدونم کجای کارم اشتباهه

rahnama.rar

لینک ارسال
به اشتراک گذاری در سایت های دیگر

ببیخشید هموطن :give_rose: جای متغیرهای بولین اشتباه شده کدها رو به صورت زیر تغییر بدین

Dim aria As AriaSharedPreferences
aria.Initialize("aria")
If aria.GetBoolean("firsttime",True) Then
	aria.SaveBoolean("firsttime",False)
	StartActivity(rahnamaee)
Else
	StartActivity(X)
	End Sub

 

لینک ارسال
به اشتراک گذاری در سایت های دیگر

در 7 ساعت قبل، محمدرضا شاهپیری گفته است :

ببیخشید هموطن :give_rose: جای متغیرهای بولین اشتباه شده کدها رو به صورت زیر تغییر بدین


Dim aria As AriaSharedPreferences
aria.Initialize("aria")
If aria.GetBoolean("firsttime",True) Then
	aria.SaveBoolean("firsttime",False)
	StartActivity(rahnamaee)
Else
	StartActivity(X)
	End Sub

 

 

مهندس اینبار با تغییر متغییر بولین این مشکل ایجاد شد :

بعد از یکبار اجرا اکتیویتی راهنما اجرا شد و بعد از اون وارد اکتیویتی اصلی شد...اما موقع برگشت زدن دوباره وارد اکتیویتی راهنما شد....

در موقع اجرا دوم .....برنامه بلافاصله وارد اکتیویتی اصلی شد ولی موقع برگشت و خروج از برنامه صفحه مشکی ( که به ظاهر فکر میکنم همون اکتیوتی راهنماست) نمایش داده میشود که دوباره باید روی برگشت کلیک کرد که کلا خارج بشه

 

به نظر شما چیکار میشه کرد؟

فایل رو پیوست کردم ..... باز یه نگاه بندازید شاید مشکل از ساختار کد نویسی منه

لینک ارسال
به اشتراک گذاری در سایت های دیگر

در 18 دقیقه قبل، محمدرضا شاهپیری گفته است :

معلومه دیگه شما اکتیویتی main رو نبستین واسه همینه اون صفحه سیاه 

تا زمانی که اکتیویتی main در حالت puse باشه برنامه از هیچ اکتیوتی دیگه خارج نمیشه به جز main یعنی اول باید به main برگرده و از اونجا خارج بشه 

این کد کامله دیگه


aria.Initialize("aria")
If aria.GetBoolean("firsttime",True) Then
	aria.SaveBoolean("firsttime",False)
	StartActivity(rahnama)
Else
	StartActivity(asli)
End If
Activity.Finish	

 

 

مهندس کارت حرف نداشت .... مشکل صفحه مشکی کامل حل شد.. سپاسگذارم.

ولی هنوز یه مشکل کوچیک هست.

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

 

برای بار اول رو چیکار کنیم؟ 

 

لینک ارسال
به اشتراک گذاری در سایت های دیگر

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

StartActivity(asli)
Activity.Finish

 

لینک ارسال
به اشتراک گذاری در سایت های دیگر

در 8 دقیقه قبل، محمدرضا شاهپیری گفته است :

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


StartActivity(asli)
Activity.Finish

 

 

دقیقا درست فرمودید.... در قسمت راهنما activity.finish  رو قرار دادم کار درست شد .... خدا خیرت بده مهندس ... :give_rose:

لینک ارسال
به اشتراک گذاری در سایت های دیگر

درود

به این صورت عمل کنید :

Sub Activity_Create(FirstTime As Boolean)
	If File.Exists(File.DirInternal,"answer.txt") = False Then
		File.WriteString(File.DirInternal,"answer.txt","www.AnswerCenter.ir")
	Else
		StartActivity(x)
	End If
	Activity.LoadLayout("Layout1")

End Sub
لینک ارسال
به اشتراک گذاری در سایت های دیگر

دوست عزیز شما یه سرچ میکردید به جواب کامل میرسیدید

از کتابخونه ariashared prefrecne استفاده کنید

Dim aria As AriaSharedPreferences
aria.Initialize("aria")
If aria.GetBoolean("firsttime",False) Then
	aria.SaveBoolean("firsttime",True)
	StartActivity(rahnamaee)
Else
	StartActivity(X)
	End IF

لینک ارسال
به اشتراک گذاری در سایت های دیگر

 

دوست عزیز شما یه سرچ میکردید به جواب کامل میرسیدید

از کتابخونه ariashared prefrecne استفاده کنید

Dim aria As AriaSharedPreferences
aria.Initialize("aria")
If aria.GetBoolean("firsttime",False) Then
	aria.SaveBoolean("firsttime",True)
	StartActivity(rahnamaee)
Else
	StartActivity(X)
	End Sub

 

 

 

مممنونم بابت راهنمایی همه اساتید.... فقط کتابخونه مورد نظر اگر موجود هست پیوست کنید. 

لینک ارسال
به اشتراک گذاری در سایت های دیگر

بایگانی شده

این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.

  • کاربران آنلاین در این صفحه   0 کاربر

    • هیچ کاربر عضوی،در حال مشاهده این صفحه نیست.
×
×
  • اضافه کردن...