【问题标题】:Type mismatch. Required: Fragment, Found: PlaceAutocompleteFragment类型不匹配。必需:片段,找到:PlaceAutocompleteFragment
【发布时间】:2019-02-21 02:54:58
【问题描述】:

我遇到了一个

与另一个片段重复的 ID、标签 null 或父 ID placeAutocompleteFragment

错误,所以我按照这个solution 尝试通过使用childFragmentManager 的片段事务添加placeAutocompleteFragment 来修复它

片段类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?

有什么建议吗?

谢谢

【问题讨论】:

    标签: android android-fragments kotlin placeautocompletefragment child-fragment


    【解决方案1】:

    问题

    getChildFragmentManager 将返回 FragmentManager 的支持库版本。所以你应该传递片段对象,它继承了片段的支持库版本。

    但是 PlaceAutocompleteFragment 继承了 android.app.Fragment。

    解决方案

    使用 SupportPlaceAutocompleteFragment 代替 PlaceAutocompleteFragment。

    【讨论】:

    • 非常感谢,您是救生员。我花了几个小时试图解决这个问题,哈哈
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多