让我告诉我我的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的超类。
我尝试投射视图,但是当我使用它时,我总是不得不投射它。有没有办法像黄油刀一样?
答案 0 :(得分:0)
不确定是否可以帮助您, https://github.com/JakeWharton/butterknife/issues/198
请参考它,否则我想您必须为超类创建新的变量