我正在尝试将一些 API 数据获取到我的应用程序,并且我有两个 Activity 。第一个是启动屏幕(就像加载应用程序时谷歌使用的那样),我想知道在哪里调用 finish() 来结束 Activity 。
public class SplashScreen extends AppCompatActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
AsyncDataFetch fetch = new AsyncDataFetch();
fetch.setContext(this);
fetch.execute();
}
}
我已将所有代码移至 AsyncTask 中,这样我就不会阻塞 ui 线程,现在我无法在那里调用 finish(),或者我不知道如何调用。
为什么我要在那里为我的应用程序调用完成,而不是在我的 Activity 上调用它,您可能会问...这是因为如果我这样做,它会产生某种故障,因为我的 API 获取大约需要 1 秒并显示和关闭此 Activity 所需时间更少。
那么,我应该在哪里调用 finish() 以及如何调用?
最佳答案
从 doInBackground() 获取结果后,您应该在异步任务的 onPostExecute 中调用 finish()
。
关于java - 是否调用 finish() ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45124001/