Pertanyaan Aktivitas saat ini menyegarkan Android


Saya ingin memprogram aplikasi Android saya untuk menyegarkan aktivitasnya saat ini di ButtonClick. Saya memiliki satu tombol di bagian atas tata letak aktivitas yang akan melakukan pekerjaan itu. Ketika saya mengklik tombol, aktivitas saat ini harus dimuat ulang lagi - sama seperti memulai ulang perangkat.

Terima kasih


55
2017-07-01 12:30


asal


Jawaban:


public void onClick (View v){
    Intent intent = getIntent();
    finish();
    startActivity(intent);
}

116
2017-07-01 12:33



Anda dapat mencoba ini

finish();
startActivity(getIntent());

Pertanyaan ini ditanyakan sebelumnya: Bagaimana cara memulai kembali Aktivitas Android


37
2017-07-01 12:34



Dalam suatu kegiatan Anda bisa menelepon recreate() untuk "menciptakan kembali" aktivitas (API 11+)


21
2018-04-15 09:40



Ini adalah metode tombol refresh, tetapi berfungsi dengan baik dalam aplikasi saya. dalam finish () Anda membunuh instance

public void refresh(View view){          //refresh is onClick name given to the button
    onRestart();
}

@Override
protected void onRestart() {

    // TODO Auto-generated method stub
    super.onRestart();
    Intent i = new Intent(lala.this, lala.class);  //your class
    startActivity(i);
    finish();

}

11
2017-09-25 15:33



inilah yang berhasil bagi saya seperti yang terlihat sini.

Cukup gunakan atau tambahkan ke pembantu kelas statis dan panggil saja dari mana saja di proyek Anda.

/**
Current Activity instance will go through its lifecycle to onDestroy() and a new instance then created after it.
*/
@SuppressLint("NewApi")
  public static final void recreateActivityCompat(final Activity a) {
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
      a.recreate();
    } else {
      final Intent intent = a.getIntent();
      intent.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
      a.finish();
      a.overridePendingTransition(0, 0);
      a.startActivity(intent);
      a.overridePendingTransition(0, 0);
   }
}

7
2018-06-12 20:05



Ini harus memulai lagi dan menghapus semua contoh aktivitas saat ini sebelumnya.

Tidak seharusnya.

Ini harus memperbarui datanya di tempat (misalnya, requery() itu Cursor). Maka tidak akan ada "contoh aktivitas saat ini sebelumnya" yang perlu dikhawatirkan.


3
2017-07-01 12:40



Anda dapat Coba ini:

        CookieSyncManager.createInstance(this);         
        CookieManager cookieManager = CookieManager.getInstance();        
        cookieManager.removeAllCookie();        
        Intent intent= new Intent(YourCurrent.this, YourCurrent.class);
        intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_NEW_TASK);
        startActivity(intent);

3
2017-09-13 08:37



Cara termudah adalah menelepon onCreate(null); dan aktivitas Anda akan menjadi seperti baru.


2
2018-01-10 00:32