Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/190.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 未激发SupportPlaceAutocompleteFragment的OnPlaceSelectedListener_Android_Android Fragments_Android Viewpager_Google Maps Android Api 2_Google Places Api - Fatal编程技术网

Android 未激发SupportPlaceAutocompleteFragment的OnPlaceSelectedListener

Android 未激发SupportPlaceAutocompleteFragment的OnPlaceSelectedListener,android,android-fragments,android-viewpager,google-maps-android-api-2,google-places-api,Android,Android Fragments,Android Viewpager,Google Maps Android Api 2,Google Places Api,我对SupportPlaceAutocompleteFragment的OnPlaceSelectedListener方法有问题 我的onViewCreated()方法: @Override public void onViewCreated(View view, Bundle savedInstanceState) { super.onViewCreated(view, savedInstanceState); // Initialise a new fragment insi

我对SupportPlaceAutocompleteFragment的OnPlaceSelectedListener方法有问题

我的onViewCreated()方法:

@Override
public void onViewCreated(View view, Bundle savedInstanceState) {
    super.onViewCreated(view, savedInstanceState);

    // Initialise a new fragment inside of this one.
    mFragmentManager = getChildFragmentManager();
    mSupportMapFragment = (SupportMapFragment) mFragmentManager.findFragmentByTag("mapFragment");
    mSupportPlaceAutocompleteFragment = (SupportPlaceAutocompleteFragment) mFragmentManager.findFragmentByTag("autocompleteFragment");

    // Never inflate fragments inside other fragments in a layout.xml!
    // Do it programmatically.
    // See here for reference: https://stackoverflow.com/a/19815266/4938112.
    if (mSupportMapFragment == null) {
        mSupportMapFragment = new SupportMapFragment();
        fragmentTransaction(mFragmentManager, mSupportMapFragment, R.id.map_fragment_container, "mapFragment");
    }

    // Asynchronous thread to load map.
    mSupportMapFragment.getMapAsync(this);


    if (mSupportPlaceAutocompleteFragment == null) {
        mSupportPlaceAutocompleteFragment = new SupportPlaceAutocompleteFragment();
        fragmentTransaction(mFragmentManager, mSupportPlaceAutocompleteFragment, R.id.card_view, "autocompleteFragment");
    }

    // Filter for a specific place type.
    AutocompleteFilter typeFilter = new AutocompleteFilter.Builder()
            .setTypeFilter(AutocompleteFilter.TYPE_FILTER_CITIES)
            .build();
    mSupportPlaceAutocompleteFragment.setFilter(typeFilter);

    Log.d("I'M HERE", "Hello.");

    mSupportPlaceAutocompleteFragment.setOnPlaceSelectedListener(new PlaceSelectionListener() {
        @Override
        public void onPlaceSelected(Place place) {
            // TODO: Get info about the selected place.
            Log.i("PLACE", "Place: " + place.getName());
            int flag = 1;
            Log.d("FLAG", "flag: " + flag);
        }

        @Override
        public void onError(Status status) {
            // TODO: Handle the error.
            Log.i("PLACE_ERROR", "An error occurred: " + status);
            int flag = 0;
            Log.d("FLAG", "flag: " + flag);
        }
    });

    Log.d("I'M HERE, TOO", "Hello.");

}
当我选择一个地方时(所有的API都被启用,我有一个Google键),AutoCompleteFragment就关闭了,地图上什么也没有发生。 MSSupportPlaceAutoCompleteFragment.setOnPlaceSelectedListener(…)方法未被激发

有什么提示吗

我的问题与中的问题相似


我也在使用嵌套片段,我不明白在这种情况下如何查看onActivityResult()方法。

最终解决了这个问题:希望它能帮助别人

我在MainActivity中的onActivityResult()方法中添加了这一臭名昭著的行

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);

    ...
}
然后在我的MapFragment中加入了相同的方法

    @Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
}

现在嵌套片段正在发回数据。

最终解决了这个问题:希望它能帮助别人

我在MainActivity中的onActivityResult()方法中添加了这一臭名昭著的行

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);

    ...
}
然后在我的MapFragment中加入了相同的方法

    @Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
}
现在嵌套片段正在发回其数据