1

Google マップ ビューを Litho と統合しようとしています。このための MountSpec を作成しました。これには2つの問題があります。

まず、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.createAndMeasureTreeForComponent( 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.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5608) で android.view.View.measure(View.java:17562) で android.support.design.widget.CoordinatorLayout.onMeasure(CoordinatorLayout.java:784) で) android.widget.FrameLayout.onMeasure(FrameLayout.java:436) でandroid.widget.FrameLayout.onMeasure(FrameLayout.java:436) で android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5608) で測定 (View.java:17562)android.widget.FrameLayout.onMeasure(FrameLayout.java:436) で android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5608) で測定 (View.java:17562)

これは、エラーをスローしている 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);
                    });
        });
4

0 に答える 0