簡體   English   中英

類型不匹配。 必需:片段,找到:PlaceAutocompleteFragment

[英]Type mismatch. Required: Fragment, Found: PlaceAutocompleteFragment

我碰到一個

重復的ID,標簽null或父ID,以及placeAutocompleteFragment的另一個片段

誤差,所以我也跟着此溶液 ,試圖通過經由使用一個片段交易添加placeAutocompleteFragment修復它childFragmentManager

片段類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的支持庫版本。 因此,您應該傳遞繼承Fragment支持庫版本的fragment對象。

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

使用SupportPlaceAutocompleteFragment代替PlaceAutocompleteFragment。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM