我知道finish()方法用于完成当前活动,而开始一个新的活动。但可能finish()方法在我的AsyncTask重写方法中不起作用。 好吧,我目前的活动是LoginActivity其中我实现了AsyncTask,并且在我的一个AsyncTask覆盖方法中我开始了LoggedInActivity。在LoggedInActivity有很多片段。这不会导致我认为如此的任何问题。当我按BACK按钮时,我得到登录活动。我不想那样。请看看我的代码:完成()方法不工作在AsyncTask
public class LoginActivity extends Activity implements OnClickListener {
private void startLoggedInActivity()
{
Intent i = new Intent(this, LoggedInActivity.class);
startActivity(i);
finish();
}
private class FetchProfileTask extends AsyncTask<String, Integer, JSONObject>
{
protected JSONObject doInBackground(String... strings) {
bla....bla....
}
protected void onPreExecute() {
bla....bla....
}
protected void onPostExecute(JSONObject jsonObject) {
try {
startLoggedInActivity();
} catch (Exception e) {
Log.w("Exception", "FetchProfileTask - onPostExecute()");
} finally {
}
}
}
}
我会很高兴,如果有人可以帮助我.....
为什么不尝试YOUT开始loggenInActivity – elmorabea
@dcharms整理后在onPostExecute()你的活动如果我使用'机器人:noHistory = “真”'这将适用于从** LoginActivity **开始的所有活动。我不想那样。我想完成一些特定活动的** LoginActivity **。 –
@MahmoudElmorabea请看'startLoggedInActivity()'方法。我用'finish()'完成当前活动。但不知道为什么它不起作用。 –