如果我有一个扩展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);
}
我不确定这是否可能,如果没有,那将是什么方式呢?
非常感谢和欢呼,pingu
答案 0 :(得分:5)
你共享的构造函数应该完全按照您的预期工作。
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