即使添加值后ArrayList也为空

如何解决即使添加值后ArrayList也为空

我正在开发一个向用户显示其所在地区不同场所的应用程序,为此,我正在使用google place API。我将所有结果存储在ArrayList中,但是由于某些原因,将它们添加到ArrayList的代码未运行。知道可能是什么原因吗?作为参考,我的代码的相关部分如下:

private void handleAutoCompleteRequest(FindAutocompletePredictionsRequest request) {
    // Create a new Places client instance.
    PlacesClient placesClient = Places.createClient(this);

    placesClient.findAutocompletePredictions(request).addOnSuccessListener((response) -> {
        for (AutocompletePrediction prediction : response.getAutocompletePredictions()) {

            Log.d("PLACEID",prediction.getPlaceId());
            Log.d("PLACENAME",prediction.getPrimaryText(null).toString());

            placeID = prediction.getPlaceId();
            placeName = prediction.getPrimaryText(null).toString();


            // Define a Place ID.
            final String placeId = placeID;

            // Specify the fields to return.
            final List<Place.Field> placeFields = Arrays.asList(Place.Field.ID,Place.Field.NAME,Place.Field.ADDRESS,Place.Field.BUSINESS_STATUS,Place.Field.RATING,Place.Field.PHOTO_METADATAS);

            // Construct a request object,passing the place ID and fields array.
            final FetchPlaceRequest request1 = FetchPlaceRequest.newInstance(placeId,placeFields);

            placesClient.fetchPlace(request1).addOnSuccessListener((response1) -> {

                Place place = response1.getPlace();

                Log.d("name","Place found: " + place.getName());
                Log.d("address","Place found: " + place.getAddress());
                Log.d("hours","Place found: " + place.getBusinessStatus());

                String statusString = String.valueOf(place.getBusinessStatus());
                String ratingString = String.valueOf(place.getRating());


                Log.d("placeStatus",statusString);
                Log.d("placeRating",ratingString);

                //PHOTOS///////////////////////////////////////////

                // Get the photo metadata.
                final List<PhotoMetadata> metadata = place.getPhotoMetadatas();
                if (metadata == null || metadata.isEmpty()) {
                    Log.w("metadataNull","No photo metadata.");
                    return;
                }
                final PhotoMetadata photoMetadata = metadata.get(0);

                // Get the attribution text.
                final String attributions = photoMetadata.getAttributions();

                // Create a FetchPhotoRequest.
                final FetchPhotoRequest photoRequest = FetchPhotoRequest.builder(photoMetadata)
                        .setMaxWidth(500) // Optional.
                        .setMaxHeight(300) // Optional.
                        .build();

                placesClient.fetchPhoto(photoRequest).addOnSuccessListener((fetchPhotoResponse) -> {
                    placePhoto = fetchPhotoResponse.getBitmap();


                    Log.d("isthisrunning","yesitsrunning");


                    TenderSuggestion mySuggestion = new TenderSuggestion(place.getAddress(),place.getName(),place.getId(),statusString,ratingString,placePhoto);
                    TenderSuggestions.add(mySuggestion);
                    Log.d("testArrayList","added");


                    for (int i = 0; i < TenderSuggestions.size(); i++) {
                        String master = TenderSuggestions.get(i).getSuggestionName();

                        for (int p = 0; p < TenderSuggestions.size(); p++) {
                            if (p != i) {
                                String subject = TenderSuggestions.get(p).getSuggestionName();
                                if (master.equals(subject)) {
                                    TenderSuggestions.remove(p);
                                    i--;
                                }
                            }
                        }
                    }

                    NUM_PAGES = TenderSuggestions.size();

                    Log.d("Arraylength1",String.valueOf(TenderSuggestions.size()));

                }).addOnFailureListener((exception) -> {
                    if (exception instanceof ApiException) {
                        final ApiException apiException = (ApiException) exception;
                        Log.e("placeError","Place not found: " + exception.getMessage());
                        final int statusCode = apiException.getStatusCode();
                        // TODO: Handle error with given status code.
                    }
                });


            }).addOnFailureListener((exception) -> {

                if (exception instanceof ApiException) {

                    final ApiException apiException = (ApiException) exception;

                    Log.d("error","Place not found: " + exception.getMessage());

                    final int statusCode = apiException.getStatusCode();
                    // TODO: Handle error with given status code.
                }
                Log.d("error","Place not found: " + exception.getMessage());

            });

        }

    }).addOnFailureListener((exception) -> {
        if (exception instanceof ApiException) {
            ApiException apiException = (ApiException) exception;
            Log.d("ERROR","Place not found: " + apiException.getStatusCode());
        }
    });
    
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


依赖报错 idea导入项目后依赖报错,解决方案:https://blog.csdn.net/weixin_42420249/article/details/81191861 依赖版本报错:更换其他版本 无法下载依赖可参考:https://blog.csdn.net/weixin_42628809/a
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下 2021-12-03 13:33:33.927 ERROR 7228 [ main] o.s.b.d.LoggingFailureAnalysisReporter : *************************** APPL
错误1:gradle项目控制台输出为乱码 # 解决方案:https://blog.csdn.net/weixin_43501566/article/details/112482302 # 在gradle-wrapper.properties 添加以下内容 org.gradle.jvmargs=-Df
错误还原:在查询的过程中,传入的workType为0时,该条件不起作用 &lt;select id=&quot;xxx&quot;&gt; SELECT di.id, di.name, di.work_type, di.updated... &lt;where&gt; &lt;if test=&qu
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct redisServer’没有名为‘server_cpulist’的成员 redisSetCpuAffinity(server.server_cpulist); ^ server.c: 在函数‘hasActiveC
解决方案1 1、改项目中.idea/workspace.xml配置文件,增加dynamic.classpath参数 2、搜索PropertiesComponent,添加如下 &lt;property name=&quot;dynamic.classpath&quot; value=&quot;tru
删除根组件app.vue中的默认代码后报错:Module Error (from ./node_modules/eslint-loader/index.js): 解决方案:关闭ESlint代码检测,在项目根目录创建vue.config.js,在文件中添加 module.exports = { lin
查看spark默认的python版本 [root@master day27]# pyspark /home/software/spark-2.3.4-bin-hadoop2.7/conf/spark-env.sh: line 2: /usr/local/hadoop/bin/hadoop: No s
使用本地python环境可以成功执行 import pandas as pd import matplotlib.pyplot as plt # 设置字体 plt.rcParams[&#39;font.sans-serif&#39;] = [&#39;SimHei&#39;] # 能正确显示负号 p
错误1:Request method ‘DELETE‘ not supported 错误还原:controller层有一个接口,访问该接口时报错:Request method ‘DELETE‘ not supported 错误原因:没有接收到前端传入的参数,修改为如下 参考 错误2:cannot r
错误1:启动docker镜像时报错:Error response from daemon: driver failed programming external connectivity on endpoint quirky_allen 解决方法:重启docker -&gt; systemctl r
错误1:private field ‘xxx‘ is never assigned 按Altʾnter快捷键,选择第2项 参考:https://blog.csdn.net/shi_hong_fei_hei/article/details/88814070 错误2:启动时报错,不能找到主启动类 #
报错如下,通过源不能下载,最后警告pip需升级版本 Requirement already satisfied: pip in c:\users\ychen\appdata\local\programs\python\python310\lib\site-packages (22.0.4) Coll
错误1:maven打包报错 错误还原:使用maven打包项目时报错如下 [ERROR] Failed to execute goal org.apache.maven.plugins:maven-resources-plugin:3.2.0:resources (default-resources)
错误1:服务调用时报错 服务消费者模块assess通过openFeign调用服务提供者模块hires 如下为服务提供者模块hires的控制层接口 @RestController @RequestMapping(&quot;/hires&quot;) public class FeignControl
错误1:运行项目后报如下错误 解决方案 报错2:Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.1:compile (default-compile) on project sb 解决方案:在pom.
参考 错误原因 过滤器或拦截器在生效时,redisTemplate还没有注入 解决方案:在注入容器时就生效 @Component //项目运行时就注入Spring容器 public class RedisBean { @Resource private RedisTemplate&lt;String
使用vite构建项目报错 C:\Users\ychen\work&gt;npm init @vitejs/app @vitejs/create-app is deprecated, use npm init vite instead C:\Users\ychen\AppData\Local\npm-