我在地图上集成了AutocompleteSupportFragment。当我点击地点搜索.app崩溃时,它给出了 error.java.lang.NullPointerException:必须设置地点字段。
AutocompleteSupportFragment autocompleteFragment = (AutocompleteSupportFragment)
getChildFragmentManager().findFragmentById(R.id.autocomplete_frag);
if (autocompleteFragment != null) {
autocompleteFragment.setPlaceFields(Arrays.asList(Place.Field.ID, Place.Field.NAME));
}
if (autocompleteFragment != null) {
autocompleteFragment.setOnPlaceSelectedListener(new PlaceSelectionListener() {
@Override
public void onPlaceSelected(@NonNull Place place) {
// TODO: Get info about the selected place.
Toast.makeText(getContext(),place.getName(),Toast.LENGTH_SHORT).show();
}
@Override
public void onError(@NonNull Status status) {
// TODO: Handle the error.
Toast.makeText(getContext(),"Error",Toast.LENGTH_SHORT).show();
}
});
}
答案 0 :(得分:0)
我遇到了同样的问题,有关此内容的Google开发人员文档没有告诉您初始化位置的步骤(为什么要包含位置...),但是您要做的就是在您的位置添加以下代码段初始化autoCompleteFragment
变量。
if (!Places.isInitialized()) {
Places.initialize(getApplicationContext(), "YOUR_API_KEY);
}
欢呼