80,351
社区成员
发帖
与我相关
我的任务
分享
@Override
protected void onStart() {
super.onStart();
loadCards(new Callback(){
success(List<Card> cardList){do something}
fail(){do other thing}
});
}
@Override
protected void onResume() {
super.onResume();
//my problem is here:
//how to know if loadCards() has finished? then run initViews.
initViews();
}
public void loadCards(Callback callback) {
Runnable runnable = () -> {
//List<Card> cardList = get list from work thread;
mAppExecutors.mainThread().execute(() -> {
if (result == empty) {
callback.fail();
} else {
callback.success(cardList);
}
});
};
mAppExecutors.diskIO().execute(runnable);
}
void initViews(){}
initView(){
if(!threadSuccess) return;
...
}
在线程执行完成之后赋值true并再次调用initview
new Callback(){
successs(){
threadSuccess=true;
initView();
}
}