我在地图上整合了AutocompleteSupportFragment。当我点击地点搜索.app崩溃时

时间:2019-02-23 12:11:59

标签: google-places-api googleplacesautocomplete

我在地图上集成了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();

                }
            });
        }

1 个答案:

答案 0 :(得分:0)

我遇到了同样的问题,有关此内容的Google开发人员文档没有告诉您初始化位置的步骤(为什么要包含位置...),但是您要做的就是在您的位置添加以下代码段初始化autoCompleteFragment变量。

    if (!Places.isInitialized()) {
        Places.initialize(getApplicationContext(), "YOUR_API_KEY);
    }

欢呼