我有以下代码:
mQuestions=DictionaryDbWrapper.getInstance().getQuestionsSequence(
this.getIntent().getStringExtra(ApplicationUtilities.TEST_CATEGORY_PARAMETER), 50);
mQuestionsCount=mQuestions.size();
Log.e("count", String.valueOf(mQuestionsCount));
if (mQuestionsCount==0) {
Log.e("1", "111");
Toast.makeText(this, "В данной категории нет слов", Toast.LENGTH_LONG).show();
this.finish();
}
makeQuestion();
mQuestions
是空的ArrayList,并且我看到logt上的count
始终等于0。我也总是在我的日志中看到1/111
记录。但是我的 Activity 没有执行完成方法!makeQuestion
是不需要与空mQuestion
一起使用的方法(它会引发Exception)。但是,如果我对makeQuestion
进行注释,那么finish
方法效果很好!此代码的方法在主线程上起作用(它是从onCreate()
方法执行的)。请提出我要去哪里的问题。
提前致谢。
最佳答案
finish()函数是非阻塞的,这意味着当 Activity 在后台完成时,执行将继续。
要解决您的问题,请在finish()调用之后添加return语句。
关于java - 为什么这个 Activity 没有结束?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9046332/