很快就点击了多个PlaceAutoCompleteFragment

时间:2016-05-29 12:21:49

标签: android android-fragments google-places-api

我在最近正在进行的项目中使用Google的PlaceAutoCompleteFragment。当我非常快速地点击PlaceAutoCompleteFragment时,它会在我的应用上打开多个叠加层,这真的很烦人。如何防止它打开多个叠加层?我的片段代码如下:

if (autocompleteFragment == null) {
        autocompleteFragment = (PlaceAutocompleteFragment)getFragmentManager().findFragmentById(R.id.place_autocompletehome_fragment);
}

autocompleteFragment.setOnPlaceSelectedListener(new PlaceSelectionListener() {
        @Override
        public void onPlaceSelected(Place place) {
            // TODO: Get info about the selected place.
            try {
                Log.i("esty", "Place: " + place.getName());



            } catch (Exception e) {
                Log.e("esty", "Error: " + e.getMessage());
            }

        }

        @Override
        public void onError(Status status) {
            // TODO: Handle the error.
            Log.e("esty", "An error occurred: " + status);
        }
    });

2 个答案:

答案 0 :(得分:5)

看起来这是PlaceAutocompleteFragment(和SupportPlaceAutocompleteFragment)中的错误。感谢您提请我们注意。我们将在即将发布的版本中考虑修复此问题。

答案 1 :(得分:1)

为什么不尝试黑客来解决这个问题。 在整个片段上放置一个单击侦听器,并使用多击阻止程序一次传递单击事件。

请参阅以下解决方案: https://stackoverflow.com/a/23103227/4901098