Entrada recursiva para ejecutarPendingTransactions en el uso de GoogleApiClient en Fragmento

Estoy intentando utilizar la API de Autocompletar de lugar en mi aplicación. Tengo una Activity principal. Tengo un Fragment que es una parte de MainActivity . En OnViewCreated() en este Fragment .

  private void rebuildGoogleApiClient() { // When we build the GoogleApiClient we specify where connected and connection failed // callbacks should be returned and which Google APIs our app uses. mGoogleApiClient = new GoogleApiClient.Builder(getActivity()) .enableAutoManage(activity, 0 /* clientId */, this) .addConnectionCallbacks(this) .addApi(Places.GEO_DATA_API) .build(); } 

StackTrace:

 Caused by: java.lang.IllegalStateException: Recursive entry to executePendingTransactions at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1471) at android.support.v4.app.FragmentManagerImpl.executePendingTransactions(FragmentManager.java:488) at com.google.android.gms.common.api.zzl.zza(Unknown Source) at com.google.android.gms.common.api.GoogleApiClient$Builder.zzkL(Unknown Source) at com.google.android.gms.common.api.GoogleApiClient$Builder.build(Unknown Source) at com.app.projectpapri.Fragments.LocationScreen.rebuildGoogleApiClient(LocationScreen.java:69) at com.app.projectpapri.Fragments.LocationScreen.onViewCreated(LocationScreen.java:93) at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:971) at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1136) at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:739) at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1499) at android.support.v4.app.FragmentActivity.onStart(FragmentActivity.java:548) at com.app.projectpapri.core.BaseActivity.onStart(BaseActivity.java:38) at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1243) 

Cualquier ayuda será apreciada.

En lugar de llamar a rebuildGoogleApiClient() en onViewCreated() , intente llamarla en el método onActivityCreated() su fragmento.

Consulte http://developer.android.com/reference/android/app/Fragment.html#Lifecycle para obtener más información sobre el ciclo de vida de los fragmentos.

Si aún así no funciona, puede eliminar enableAutoManage(...) y llamar a connect() y disconnect() explícitamente en la instancia de GoogleApiClient .

Consulta https://developers.google.com/places/android/start#connect-client para obtener más detalles.

¿Eso ayuda?

Trabajó para mí:

 public class TestActivity extends Fragment { @Override public void onActivityCreated(Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); mGoogleApiClient = new GoogleApiClient.Builder(getActivity()) .addApi(Places.GEO_DATA_API) .build(); } @Override public void onStart() { super.onStart(); mGoogleApiClient.connect(); } @Override public void onStop() { super.onStop(); mGoogleApiClient.disconnect(); } } 
  • PlaceAutoCompleteFragment en android no muestra sugerencias y se cierra después de ingresar la primera letra
  • API de sitios para Android: obtenga las líneas de addres de Place.getAddress ()
  • ¿Es posible obtener la información "Popular times" a través de la API de Google Places
  • Cómo personalizar el diseño del cuadro de diálogo de widget de PlaceAutocomplete a lugares de la lista
  • Autocompletar texto google lugares api
  • API de Google Places en Android: API_KEY para usuarios individuales
  • Google coloca la API para Android para encontrar la ciudad
  • Se abre Multiple PlaceAutoCompleteFragment cuando se hace clic en él muy rápidamente
  • Google Selector de lugares no se está lanzando en teléfonos Android Mi
  • Javax.net.ssl.SSLPeerUnverifiedException: Ningún certificado de compañero mientras estoy trabajando con google place api en android
  • Filtrar los resultados de autocompletar de Google Places por país
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.