所以我在Android中有一个按钮。
按下此按钮时,它会运行ASYNC任务,然后在屏幕上显示此任务的结果。但是,在异步任务完成之前,显示结果的代码正在运行。有解决方案吗?
size = 0;
new initTask().doInBackground(); //get results
setUpSeekBar();//display
FillCards();//display
答案 0 :(得分:0)
您需要在onPostExecute
的{{1}}方法中显示结果(一旦后台任务完成,它就会自动调用)。您可以使用in-line async task:
AsyncTask
答案 1 :(得分:0)
您自己调用doInBackground()
代码的代码问题。使用Asynctask
时,这不是有效的通话。你应该调用execute()
,它会自动调用Task(doInbackground())。这是execute(Params... params)的作用。
使用指定的参数执行任务。任务返回自身(this),以便调用者可以保留对它的引用。
因此,您应该将代码更改为。
new initTask().execute();
并使用AsyncTask's
方法在屏幕上显示结果,即onPostExecute(Result result)。