Using PlaceAutocompleteFragment within an Android Fragment

0

I am trying to use PlaceAutocompleteFragment within my fragment where I also have a SupportMapFragment, at the beginning when the application starts everything works perfectly, but if I move to another fragment and then with the menu I return again to the fragment of the map it thunders.

In my xml I have:

    <fragment
    android:id="@+id/map_fragment"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_alignParentLeft="true"
    android:layout_alignParentStart="true"
    android:layout_alignParentBottom="true"
    android:layout_alignParentTop="true"
    class="com.google.android.gms.maps.SupportMapFragment" />


   <android.support.v7.widget.CardView
       android:id="@+id/content_fragment_places"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:visibility="invisible">

      <fragment
         android:id="@+id/autocomplete_fragment"
         android:name="com.google.android.gms.location.places.ui.PlaceAutocompleteFragment"
         android:layout_width="match_parent"
         android:layout_height="wrap_content" />

   </android.support.v7.widget.CardView>

In my Fragment I have:

    public class MapLocalizacionFragment extends Fragment implements      OnMapReadyCallback, 
    OnCameraIdleListener,
GoogleMap.OnCameraMoveStartedListener,
        GoogleMap.OnCameraMoveListener,
        GoogleMap.OnCameraMoveCanceledListener,
GoogleMap.OnMapClickListener, 
PlaceSelectionListener {

    private static View VIEW;
    SupportMapFragment mapFragment;
    GoogleMap map;

 public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {

    VIEW = inflater.inflate(R.layout.fragment_map, container, false);

    mapFragment= (SupportMapFragment) this.getChildFragmentManager().findFragmentById(R.id.map_fragment);
        mapFragment.getMapAsync(this);

    PlaceAutocompleteFragment autocompleteFragment = (PlaceAutocompleteFragment)
                getActivity().getFragmentManager().findFragmentById(R.id.autocomplete_fragment);

        autocompleteFragmentPartida.setOnPlaceSelectedListener(this);
}

   @Override
    public void onMapReady(GoogleMap googleMap) {
        map = googleMap;
    //ubico mapa con cordenadas
    }

    @Override
    public void onPlaceSelected(Place place) {

        }


}

The error I get is:

E/AndroidRuntime: FATAL EXCEPTION: main
                                                             android.view.InflateException: Binary XML file line #73: Error inflating class fragment
                                                                 at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:704)
                                                                 at android.view.LayoutInflater.rInflate(LayoutInflater.java:746)
                                                                 at android.view.LayoutInflater.rInflate(LayoutInflater.java:749)
                                                                 at android.view.LayoutInflater.rInflate(LayoutInflater.java:749)
                                                                 at android.view.LayoutInflater.inflate(LayoutInflater.java:489)
                                                                 at android.view.LayoutInflater.inflate(LayoutInflater.java:396)
                                                                 at com.taxi.user.cnc.fragmentsmenu.MapLocalizacionFragment.onCreateView(MapLocalizacionFragment.java:370)
                                                                 at android.support.v4.app.Fragment.performCreateView(Fragment.java:2080)
                                                                 at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1108)
                                                                 at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1290)
                                                                 at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:801)
                                                                 at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1677)
                                                                 at android.support.v4.app.FragmentManagerImpl$1.run(FragmentManager.java:536)
                                                                 at android.os.Handler.handleCallback(Handler.java:615)
                                                                 at android.os.Handler.dispatchMessage(Handler.java:92)
                                                                 at android.os.Looper.loop(Looper.java:137)
                                                                 at android.app.ActivityThread.main(ActivityThread.java:4745)
                                                                 at java.lang.reflect.Method.invokeNative(Native Method)
                                                                 at java.lang.reflect.Method.invoke(Method.java:511)
                                                                 at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)
                                                                 at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
                                                                 at dalvik.system.NativeStart.main(Native Method)
                                                              Caused by: java.lang.IllegalArgumentException: Binary XML file line #73: Duplicate id 0x7f0f0143, tag null, or parent id 0x7f0f0142 with another fragment for com.google.android.gms.location.places.ui.PlaceAutocompleteFragment
                                                                 at android.app.Activity.onCreateView(Activity.java:4669)
                                                                 at android.support.v4.app.BaseFragmentActivityHoneycomb.onCreateView(BaseFragmentActivityHoneycomb.java:36)
                                                                 at android.support.v4.app.FragmentActivity.onCreateView(FragmentActivity.java:75)
                                                                 at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:680)
                                                                 at android.view.LayoutInflater.rInflate(LayoutInflater.java:746) 
                                                                 at android.view.LayoutInflater.rInflate(LayoutInflater.java:749) 
                                                                 at android.view.LayoutInflater.rInflate(LayoutInflater.java:749) 
                                                                 at android.view.LayoutInflater.inflate(LayoutInflater.java:489) 
                                                                 at android.view.LayoutInflater.inflate(LayoutInflater.java:396) 
                                                                 at com.taxi.user.cnc.fragmentsmenu.MapLocalizacionFragment.onCreateView(MapLocalizacionFragment.java:370) 
                                                                 at android.support.v4.app.Fragment.performCreateView(Fragment.java:2080) 
                                                                 at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1108) 
                                                                 at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1290) 
                                                                 at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:801) 
                                                                 at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1677) 
                                                                 at android.support.v4.app.FragmentManagerImpl$1.run(FragmentManager.java:536) 
                                                                 at android.os.Handler.handleCallback(Handler.java:615) 
                                                                 at android.os.Handler.dispatchMessage(Handler.java:92) 
                                                                 at android.os.Looper.loop(Looper.java:137) 
                                                                 at android.app.ActivityThread.main(ActivityThread.java:4745) 
                                                                 at java.lang.reflect.Method.invokeNative(Native Method) 
                                                                 at java.lang.reflect.Method.invoke(Method.java:511) 
                                                                 at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786) 
                                                                 at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553) 
                                                                 at dalvik.system.NativeStart.main(Native Method) 

probe using a try catch in VIEW = inflater.inflate(R.layout.fragment_map, container, false); The result was that the fragment was shown with the PlaceAutocompleteFragment working perfectly but the map is not showing well, it has functionality controls are seen and it enters the listeners, but the map remains in a solid color.

What could be the problem or how can I solve it?

EDIT

My map works, it's not a problem with the api key, because when I start the app, it shows up perfectly. I use this line when I start the app:

getSupportFragmentManager().beginTransaction().replace(R.id.container, new MapLocalizacionFragment()).commit();

Here everything is fine, but when I click on the menu to return to this same fragment, what has already been said happens. in my menu I use the same line to start the fragment.

getSupportFragmentManager().beginTransaction().replace(R.id.container, new MapLocalizacionFragment()).commit();
    
asked by israel 27.09.2016 в 21:19
source

0 answers