如何在Android中扩展LinearLayout时传递额外的参数给构造函数



我有以下问题,如果我有一个类扩展LinearLayout:

public class ExtendedSeekbarLayout extends LinearLayout { ..}

和我想传递额外的参数到我的布局,我怎么做到这一点?我知道我可以有以下构造函数:

 public ExtendedSeekbarLayout (Context context) {
    super(context);
}
public ExtendedSeekbarLayout (Context context, AttributeSet attributeSet) {
    super(context, attributeSet);
}
public ExtendedSeekbarLayout (Context context, AttributeSet attributeSet, int defStyle) {
    super(context, attributeSet, defStyle);
}

但是我想要这样的:

 public ExtendedSeekbarLayout (Context context, AttributeSet attributeSet, int defStyle, int position) {
    super(context, attributeSet, defStyle);
    init(position);
}

我不确定这是否可能,如果不可能,那么该走哪条路呢?

谢谢大家,谢谢大家。

您共享的构造函数应该完全按照您的期望工作。

public ExtendedSeekbarLayout (Context context, AttributeSet attributeSet, int defStyle, int position) {
    super(context, attributeSet, defStyle);
    init(position);
}
你不一定需要这个构造函数,只要你调用
super(context);

您可以在编程实例化视图的情况下这样做:

public ExtendedSeekbarLayout (Context context, int position) {
    super(context);
    init(position);
}

但是如果你正在谈论从xml发送一个自定义值,你实际上不调用构造函数,那么你应该看看这个答案:https://stackoverflow.com/a/7608739/2534007

相关内容

最新更新