java - ListArray 返回一个空列表
问题描述
使用 List 时,它在函数内返回列表的值,但在函数范围之外,它返回一个空列表。
public List<Rect> face_list = new ArrayList<>();
public void mlkit(FirebaseVisionImage image) {
face_list.clear();
Task<List<FirebaseVisionFace>> result =
detector.detectInImage(image)
.addOnSuccessListener(
new OnSuccessListener<List<FirebaseVisionFace>>() {
@Override
public void onSuccess(List<FirebaseVisionFace> faces) {
for (FirebaseVisionFace face : faces) {
Rect bounds = face.getBoundingBox();
face_list.add(bounds);
Log.d("cns",face_list.toString()); // this returns face_list
}
}
})
.addOnFailureListener(
new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
}
});
Log.d("cns",face_list.toString()); // this returns an empty list
}
解决方案
推荐阅读
- reactjs - React 编辑按钮 + 填充输入字段(PUT METHOD/PUT REQUEST)
- python - Signal.NEWNYM 在scrapy中间件中使用时不提供新的IP地址
- javascript - 通过 react-native 导航传递参数
- python - WebScraping - 从 td 类中提取值
- node.js - Mongodb 聚合 $limit 不返回文档
- ruby-on-rails - 从 rails 5.1 迁移到 5.2 后,模型重新索引时出现错误“TypeError: no implicit conversion of nil into Hash”
- python - 从记事本导入数据时如何解决“索引错误:数组索引过多”
- javascript - 在未来的设定日期执行 Javascript 函数
- java - 休眠保留关键字转义不起作用
- bash - 如何使用 ssh 在远程服务器中运行功能并期望?