Android刷新当前活动
我想编程我的Android应用程序来刷新ButtonClick的当前活动。 我在活动布局的顶部有一个button,可以完成这项工作。 当我点击button时,当前活动应该重新加载 – 就像设备重启一样。
谢谢
public void onClick (View v){ Intent intent = getIntent(); finish(); startActivity(intent); }
你可以试试这个
finish(); startActivity(getIntent());
之前曾询问过这个问题: 如何重新启动Android活动
在一个活动中,您可以调用recreate()
来“重新创build”活动(API 11+)
这是一个刷新button的方法,但它在我的应用程序中运行良好。 在完成()你杀死的实例
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(); }
这就是我看到的。
只需使用它或将其添加到静态类助手,并从任何项目中调用它。
/** 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); } }
它应该重新开始并删除以前当前活动的所有实例。
不,不应该。
它应该更新其数据(例如,重新requery()
Cursor
)。 那么就不会有“以前的现在活动的实例”担心了。
你可以试试这个:
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);
您可以使用:
startActivity(MyClass.this, MyClass.class).setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
最简单的方法是调用onCreate(null);
你的活动将会像新的一样。
从对话框到要刷新的活动。 如果不是第一次活动!
像这样: mainActivity >> objectActivity >> 对话框
在你的对话类中:
@Override public void dismiss() { super.dismiss(); getActivity().finish(); Intent i = new Intent(getActivity(), objectActivity.class); //your class startActivity(i); }
尝试这个
简单的方法
Intent intent=new Intent(Current_Activity.this,Current_Activity.class); startActivity(intent); finish();