android - 为什么我的搜索框在 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)
。我尝试在地图活动中创建搜索栏。
解决方案
您正在尝试访问null
. 在访问任何方法之前,尝试addresslist
使用空列表进行初始化或首先检查是否不为空。addresslist
List<Address> addressList = new ArrayList<Address>;
推荐阅读
- node.js - Lambda - Nodejs SDK s3.upload() 没有被触发
- javascript - 交易状态——数据类型——从字符串到数字的转换——使用javascript
- visual-studio-code - VSCode 中多行数组和长行的更漂亮格式
- python - Pandas 中的 apply() 方法
- android - 如何仅在使用 WorkManager 的蜂窝网络上运行作业?
- postgresql - init.sql 使用 postgressql 添加为 docker-compose 中的目录
- apache-kafka - 尽管保留设置,Kafka 正在填满磁盘空间
- pandas - 熊猫条件列的总和
- python - s[::-1] 的复杂性是什么,其中`s`是python中的字符串?
- git - 更新使用 Web 界面导入功能创建的 github 存储库