Представление Google Maps, интегрированное с FBLitho

Я пытаюсь интегрировать Google Maps View с Litho, и для этого я создал MountSpec. У меня есть две проблемы с этим.

Во-первых, мне нужно запустить некоторый код фонового потока в методе OnPrepare, но в результате я не могу присвоить результат фоновой задачи объекту Output. Какой лучший способ справиться с этим?

Во-вторых, когда представление отображается, оно выдает ошибку (Stacktrace ниже).

java.lang.ClassCastException: com.google.android.gms.location.places.internal.zzas нельзя преобразовать в android.support.v4.widget.SwipeRefreshLayout$OnRefreshListener в com.facebook.litho.widget.Recycler.onPrepare(Recycler.java:98) по адресу com.facebook.litho.ComponentLifecycle.createLayout(ComponentLifecycle.java:251) по адресу com.facebook.litho.LayoutState.createTree(LayoutState.java:1237) по адресу com.facebook.litho.LayoutState.createAponMount LayoutState.java:1406) в com.facebook.litho.LayoutState.calculate(LayoutState.java:928) в com.facebook.litho.ComponentTree.calculateLayoutState(ComponentTree.java:1235) в com.facebook.litho.ComponentTree.measure(ComponentTree.java:545) в com.facebook.litho.LithoView.onMeasure(LithoView.java:218) в android.view.View.measure(View.java:17562) в android.support.v4.view.ViewPager.onMeasure(ViewPager.java:1658) на android.view.View.measure(View.java:17562) на android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5608) на android.support.design.widget.CoordinatorLayout.onMeasureChild(CoordinatorLayout.java:714) в android.support.design.widget.HeaderScrollingViewBehavior.onMeasureChild(HeaderScrollingViewBehavior.java:90) в android.support.design.widget.AppBarLayout$ScrollingViewBehavior.onMeasureChild(AppBarLayout. Java:1391) в android.support.design.widget.CoordinatorLayout.onMeasure(CoordinatorLayout.java:784) в android.view.View.measure(View.java:17562) в android.view.ViewGroup.measureChildWithMargins (ViewGroup.java: 5608) на android.widget.FrameLayout.onMeasure(FrameLayout.java:436)

Это MountSpec, который выдает ошибку:

mapView.getMapAsync(googleMap -> {
            Places.GeoDataApi.getPlaceById(googleApiClient, locationId)
                    .setResultCallback(places -> {
                        googleMap.addMarker(
                                new MarkerOptions()
                                        .position(new LatLng(0,0))
                        );
                        googleMap.setMapType(GoogleMap.MAP_TYPE_NORMAL);
                    });
        });

0 ответов

Другие вопросы по тегам