有一个线程在其中填充和生成列表。需要将其转移到适配器中的主线程,如何做到这一点?
private class LooperThread extends Thread implements Handler.Callback{
Handler handler;
@Override
public void run() {
Looper.prepare();
handler = new Handler(this);
Looper.loop();
}
@Override
public boolean handleMessage(Message message) {
if(message.what == 0){
DepositGeneration generation = new DepositGeneration();
DepositOperations operations = new DepositOperations(generation.setList());
List<DepositItem> list = operations.sortedList();
List<BaseProduct> products = DepositFormatter.setProducts(list);
}
return true;
}
public Handler getHandler() {
return handler;
}
}
仔细阅读文档
简而言之,您必须等待
Looper'a 完成并将您的工作表打包成MessagePS 一般来说,当然,正如@woesss 所建议的那样,将它全部包装起来要容易得多
AsyncTask