رتبه موضوع:
  • 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
بستن یک اکتیویتی در اکتیویتیه دیگر
#1
Question 
سلام

من یک اکتیویتیه main دارم که وقتی به  یک اکتیویتیه دیگه میرم main  و finish نمیکنم تا موقع برگشت از activity دوم با finish اون main دوباره اجرا بشه اما تو یکی از activity ها احتیاج دارم main را finish کنم ... چه طور باید این کار و انجام بدم ؟
قبل این که سوالم و این جا بزارم سرچ کردم چندتا روش و مثل ست کردن setResult و چک کردن result در onResult مین انجام دادم اما onResult اجرا نمیشد اصلا , یا اینکه یه  متغییر استاتیک  از نوع اکتیویتی توو main درست کردن و خواستم توو اون یکی اکتیویتی finish کنمش اما نشد  Huh
پاسخ
تشکر شده توسط:
#2
یه کلاس از Application مشتق کنید و داخلش یه فیلد این شکلی تعریف کنید:
public class Global extends Application {
    public static Activity mainActivity;
}

بعد توی مانیفست، android:name رو توی قسمت application با مقدار "Global." تنظیم کنید:
<application
    android:name=".G"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name" >
    .
    .
    .
</application>
حالا توی onResume (یا onCreate) توی اکتیویتی main خودتون این کد رو بنویسید:
public class ActivityMain extends Activity {
    .
    .
    .
    @Override
    protected void onResume() {
        Global.mainActivity = this;
    }
    .
    .
    .
}

حالا توی هر اکتیویتی که خواستین، با دستور زیر میتونید اکتیویتی main رو ببندین:
Global.mainActivity.finish();
پاسخ
تشکر شده توسط: saman-arsenal




کاربران در حال بازدید این موضوع: 1 مهمان