Android studio 用Kotlin自定义View在xml中无法预览的问题
·
如题
就是自定义控件在我们使用的时候不展示,尤其是原来是java自定义的,改成kotlin后在xml页面不展示,而且其他的布局也都看不到
传统java写法
public class StarRatingView extends LinearLayout {
public StarRatingView(Context context) {
super(context);
}
public StarRatingView(Context context, AttributeSet attrs) {
super(context, attrs);
}
public StarRatingView(Context context, AttributeSet attrs,int defStyleAttr) {
super(context, attrs, defStyleAttr);
代码内容
}
直接转成kotlin后,下面的这一部分会变成
转为kotlin前
public StarRatingView(Context context, AttributeSet attrs,int defStyleAttr) {
super(context, attrs, defStyleAttr);
代码内容
}
转为kotlin后 其他两个方法参数基本参考下面的
constructor(context: Context, attrs: AttributeSet, defStyleAttr: Int){
代码内容
}
这个时候去使用我们的自定义View是不展示任何内容的,也会导致xml报错,
解决办法,参考下面的写法
class StarRatingView @JvmOverloads constructor(
context: Context,
attrs: AttributeSet? = null,
defStyleAttr: Int = 0
) : LinearLayout(context, attrs, defStyleAttr) {
init{
代码内容
}
....其他方法
}
然后我们再去xml中去调用就可以发现,自定义控件展示了
仅作记录,如有帮助,点个赞吧
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)