簡體   English   中英

Andorid Kotlin-如何向下轉換合成視圖導入

[英]andorid kotlin - how to downcast a synthetic view import

讓我向您展示我的xml文件是什么樣子,以便您了解我需要完成的工作。

<com.facebook.drawee.view.SimpleDraweeView
    android:id="@+id/iv"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    fresco:actualImageScaleType="none"
    fresco:placeholderImageScaleType="center"
    fresco:placeholderImage="@drawable/spinner"/>

</merge>

當我使用黃油刀時,我是這樣導入此視圖的:

 @BindView(R.id.iv)
    DraweeView iv; //this 

注意如何在黃油刀中將其分配給SimpleDraweeView的BASE CLASS。 從來沒有任何問題。

但是現在我已經將文件轉換為kotlin並為其分配iv,如下所示:

import kotlinx.android.synthetic.main.mylayout.view.iv

然后當我檢查iv的類類型而不是超類類型時,其類型為SimpleDraweeView。 我希望它是DraweeView。 我想這是可以預期的。 但是我如何做到這一點,所以kotlin使用SimpleDraweeView的超類。

我嘗試過投射視圖,但是當我使用它時,我總是不得不投射它。 有沒有辦法像黃油刀那樣呢?

不確定是否能幫助您, https://github.com/JakeWharton/butterknife/issues/198

引用它,否則您必須為超類創建新的var

暫無
暫無

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

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