【发布时间】:2015-03-25 18:30:48
【问题描述】:
我有一个AsyncTask,我在其中向服务器发出请求并下载一些数据。根据收到的数据,我在onPostExecute() 中启动Activity A 或Activity B。
问题是那行不通。没有错误,只是活动没有开始。似乎代码根本没有在那里执行。
private class LoadingAsyncTask extends AsyncTask<Boolean, Void, Boolean> {
protected Void doInBackground(Boolean... params) {
if (InternetConnection.isConnected(ActivityLoading.this)) {
.....load data
} else {
Toast.makeText(ActivityLoading.this, getString(R.string.no_internet_connection), Toast.LENGTH_SHORT).show();
}
isDone = true;
return isDone;
}
protected void onPostExecute(Void isDone) {
super.onPostExecute(isDone);
//if work is done
if (isDone) {
if (dwnlData.equals("success")) {
getApplicationContext().startActivity(new Intent(ActivityLoading.this, ActivityNavigation.class));
} else {
getApplicationContext().startActivity(new Intent(ActivityLoading.this, ActivityAuthorization.class));
}
}
}
我在onCreate中调用AsyncTask:
public class ActivityLoading extends ActionBarActivity {
static boolean isDone = false;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_loading);
new LoadingAsyncTask().execute();
}
【问题讨论】:
标签: android android-activity android-asynctask