我希望刷新活动,因为我想要在没有触发任何事件的情况下执行某些工作并自行调用活动。所以,我想知道android中是否有任何选项可以自行刷新活动。
答案 0 :(得分:6)
您可以通过您调用postDelayed(..)
的处理程序自行完成此操作http://developer.android.com/reference/android/os/Handler.html#postDelayed(java.lang.Runnable,长)
把它放在你的班级中:
private final Handler handler = new Handler();
创建一个名为doTheAutoRefresh()的函数:
private void doTheAutoRefresh() {
handler.postDelayed(new Runnable() {
@Override
public void run() {
doRefreshingStuff(); // this is where you put your refresh code
doTheAutoRefresh();
}
}, 1000);
}
在onCreate中调用此函数。
注意:这是基本方法。考虑在onPause被调用之后停止它并在onResume之后恢复它。查看处理程序类以了解如何删除。
答案 1 :(得分:1)
您可以创建一个线程并使用要刷新的任务调用refresh()
答案 2 :(得分:-1)
对于其他问题,我提出了最有效的方法:
finish();startActivity(getIntent());
OR
// Refresh main activity upon close of dialog box
Intent refresh =new Intent(this, ActivityWeAreIn.class);
startActivity(refresh);
注意:这也适用于Activity对象或使用getActivity()
的Fragments