OnPlaceSelectedListener of SupportPlaceAutocompleteFragment not fired(SupportPlaceAutocompleteFragment 的 OnPlaceSelectedListener 未触发)
问题描述
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 刚刚关闭,地图上没有任何反应.mSupportPlaceAutocompleteFragment.setOnPlaceSelectedListener(...) 方法未被触发.
When I select a place (all the APIs are enabled and I've a Google Key), the AutoCompleteFragment just closed and nothing happens on the map. The mSupportPlaceAutocompleteFragment.setOnPlaceSelectedListener(...) method is not being fired.
有什么提示吗?
我的问题类似于 this question 中的问题.
My problem is similar to the one in this question.
我也在使用嵌套片段,我无法理解在这种情况下如何查看 onActivityResult() 方法.
I'm using nested fragments, too and I can't understand how to see the onActivityResult() method in this case.
推荐答案
终于解决了这个问题:希望对大家有所帮助.
Finally solved this problem: hope it will help someone.
我在我的 MainActivity 的 onActivityResult() 方法中添加了这条臭名昭著的行
I added this infamous line in the onActivityResult() method in my MainActivity
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    ...
}
然后确实在我的 MapFragment 中放入了相同的方法
and then did put the same method in my MapFragment
    @Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
}
现在嵌套片段正在发回其数据.
Now the nested fragment is sending back its data.
这篇关于SupportPlaceAutocompleteFragment 的 OnPlaceSelectedListener 未触发的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:SupportPlaceAutocompleteFragment 的 OnPlaceSelectedListener 未触发
				
        
 
            
        - 网上有没有好的 UIScrollView 教程? 2022-01-01
 - 在 Iphone SDK 的导航栏上添加多个按钮 2022-01-01
 - GPS状态的广播接收器? 2022-01-01
 - 使用自动布局向 UIScrollView 添加动态大小的视图 2022-01-01
 - 类似于 Mail.app 的 iPad 模态视图控制器? 2022-01-01
 - Xcode 7.3 中带有 UILabel 的 UIStackView 2022-01-01
 - URL编码Swift iOS 2022-01-01
 - 如何在 iPhone 模拟器中重置 NSUserDefaults 数据? 2022-01-01
 - SetOnItemSelectedListener上的微调程序错误 2022-01-01
 - UITextView 内容插图 2022-01-01
 
