问题是异步操作,当我这样做的时候
html.getTi()
,没有给我任何值,因为操作仍在运行,而且我速度更快。
我试着用:
synchronized (this) {..
但它似乎不起作用。
我考虑过使用等待循环:
while(html.getFlg ()! = false);
我想用
callbacks
promises
一些建议?
主类
Html html = new Html().execute("...");
html.getTi();//return element ArrayList<ListItem>
Html.java文件
public class Html extends Activity {
ArrayList<ListItem> listItemList = new ArrayList<ListItem>();
public Html execute(String str) {
new Http().execute(str);
return this;
}
public ArrayList<ListItem> getTi() {
return listItemList;
}
public class Http extends AsyncTask<String, Void, Void> {
@Override
protected void onPreExecute() { super.onPreExecute(); }
@Override
protected Void doInBackground(String... params) {
...
}
@Override
protected void onPostExecute(Void result) {
...
}
}
}