آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

اجرای مجدد یک اکتیویتی

سعید  9 سال پیش  9 سال پیش
0 0

سلام.

من داخل یک کلاس دیگه یک متد نوشتم که بیاد و در صورتی که گوگشی به ایترنت وصل نبود با AlertDialog یک AlertDialog نمایش بده و یه دگمه داخل این AlertDialog وجود داره که اگه رو این کلیک کرد مجدد همون اکیتیویتی ریفرش بشه.

این قسمت که اکتیوی رو رو ریفرش کنمو نمیدونم

حتی به عنوان ورودی یک اکتیویتی هم دادم که تو اینتنت ازش استفاده کنم اما ارور میده 

 public class ChechConnect {

  public static void conneted(Activity activity){
    if(!App.isOnline()){
      AlertDialog.Builder dialogBuilder = new AlertDialog.Builder(App.currentActivity);
      LayoutInflater inflater = App.currentActivity.getLayoutInflater();
      final View dialogView = inflater.inflate(R.layout.connect_dialog, null);
      dialogBuilder.setView(dialogView);
      TextView txt1 = (TextView) dialogView.findViewById(R.id.txt1);
      TextView txt2 = (TextView) dialogView.findViewById(R.id.txt2);
      txt2.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
                //////// این قسمت  //////////
          Intent intent = new Intent(App.currentActivity, activity.this);
          App.currentActivity.startActivity(intent);
          ///////////////////
        }
      });
      AlertDialog alertDialog = dialogBuilder.create();
      alertDialog.show();
    }
  }
 

 

 

+1 0
چرا اکتیویتی باید دوباره اجرا بشه (9 سال پیش)
0 0
تا مجدد اطلاعات رو دریافت کنه (9 سال پیش)
+1 0
لازم به این کار نیس کافیه زمانی که اتصال برقرار شد اون قسمت کدی که داده میگیره را دوباره صدا بزنید (9 سال پیش)
0 0
ممنو از راهنماییتون اما کلا راهی هست بشه اکتیویتی دوباره اجرا بشه؟ (9 سال پیش)
+1 0
اجرا کردن دوباره اکتیویتی فک نکنم کار درستی باشه. دوستمون درست میگه. ولی به هر حال اگر دوباره میخواید استارت کنید یک intent تعریف کنید بعد توی onCreate اون رو با تابع ()getIntent مقداری دهی کن. حالا هر وقت خواستی recreate کنی اول اکتیویتی رو finish کن بعد بزن( startActivity(intent . لینک (9 سال پیش)
 برای این سوال 2 پاسخ وجود دارد.
پاسخ به سوال 
احمد  9 سال پیش
0 0

این یه نمونه:

 Activity1.this.finish();
Intent intent = new Intent(Activity1.this, Activity1.class);
startActivity(intent);
پاسخ به سوال 
حمید  9 سال پیش
+1 0

کد ساخت مجدد اکتیویتی:

if (Build.VERSION.SDK_INT >= 11) {
recreate();
} else {
Intent intent = getIntent();
intent.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
finish();
overridePendingTransition(0, 0);
startActivity(intent);
overridePendingTransition(0, 0);
}

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