首页 > 解决方案 > 为什么我的搜索框在 Android 应用地图活动中不起作用?

问题描述

        public boolean onQueryTextSubmit(String query) {
            String location = searchView.getQuery().toString();
            List<Address> addressList = null;

            if (location != null || !location.equals("")){
                Geocoder geocoder = new Geocoder(Home.this);
                try {
                    addressList = geocoder.getFromLocationName(location,1);
                } catch (IOException e) {
                    e.printStackTrace();
                }
                Address address = addressList.get(0);
                LatLng latLng = new LatLng(address.getLatitude(),address.getLongitude());
                mMap.moveCamera(CameraUpdateFactory.newLatLngZoom(latLng, 12));
            }

为什么我NullPointerException从 line 得到错误Address address = addressList.get(0)。我尝试在地图活动中创建搜索栏。

标签: android

解决方案


您正在尝试访问null. 在访问任何方法之前,尝试addresslist使用空列表进行初始化或首先检查是否不为空。addresslist

List<Address> addressList = new ArrayList<Address>;

请参阅:如何在 Java 中创建新列表什么是 NullPointerException,以及如何修复它?


推荐阅读