我对Android AsyncTask有一些问题.有一个Activity包含一些TextView按钮和图片.当用户输入此活动时,我启动一个asynctask来检查用户是否可以从活动开始(直到任务没有完成按钮未激活).然后我想开始另一个asyntask来获取图片.所以我做了一个内部课:
AsyncTask<String, Void, JSONObject>() authTask = new AsyncTask<String, Void, JSONObject>() {
@Override
protected JSONObject doInBackground(String... params) {
//call the rest api
}
@Override
protected void onPostExecute(JSONObject result) {
// check the result
// and make another asynctask
AsyncTask<String, Void, Bitmap> imageTask = new Async.... {
// get image
}
imageTask.execute();
}
}
Run Code Online (Sandbox Code Playgroud)
我authTask.execute(); 从UI线程调用
.
我对此有一种不好的感觉,特别是它看起来不起作用(它好几次但是突然它"冻结":只是挂起并且进度条正在旋转也没有例外.没有任何反应,按钮也不会激活.)还有另一种获取信息的方法,当它完成后立即启动另一项任务?
UDPATE:我使用的是api级别10.在authTask中,我获得了启动imageTask(一些id)所需的一些信息,所以我必须连续调用这些任务.在api 10级这是可能的吗?
提前致谢!
彼得