类型不匹配.必要:碎片,发现:placeAutocOmpleteFragment



i撞到

重复ID,标签null或父级,带有另一个片段 plopeautocompletefragment

错误,因此我遵循了此解决方案,通过使用childFragmentManager

通过片段交易添加popeautococtetefragment来尝试修复它并修复它。

片段类onCreateView

val fm: FragmentManager = childFragmentManager
var placeAutocompleteFragment: PlaceAutocompleteFragment? = fm.findFragmentByTag("placeAutocompleteFragment") as PlaceAutocompleteFragment?
if (placeAutocompleteFragment == null){
    placeAutocompleteFragment = PlaceAutocompleteFragment()
    fm.beginTransaction().add(R.id.address_layout, placeAutocompleteFragment, "placeAutocompleteFragment").commit()
}

.xml

<android.support.constraint.ConstraintLayout
...
...
...
    <LinearLayout
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:id="@+id/address_layout"
        android:background="@drawable/rounded_search_bar"
        android:layout_marginLeft="8dp"
        android:layout_marginRight="8dp"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintEnd_toEndOf="parent" app:layout_constraintHorizontal_bias="0.0"
        android:layout_marginTop="8dp" app:layout_constraintTop_toTopOf="parent"
        android:orientation="horizontal">
    </LinearLayout>
...
...
...
</android.support.constraint.ConstraintLayout>

现在的问题在线

fm.beginTransaction().add(R.id.address_layout, placeAutocompleteFragment, "placeAutocompleteFragment").commit()

我遇到了placeAutocompleteFragment类型不匹配的类型错误。必需:碎片,发现:placeautocompletefragment?

有什么建议?

谢谢

问题

GetChildFragmentManager将返回FragmentManager的支持库版本。因此,您应该传递继承片段库版本的片段对象。

但是placeAutoCompleteFragment继承Android.App.Fragment。

解决方案

使用supportplaceococtletefragment而不是popeautocompletefragment。

最新更新