通过传入类来初始化变量的方法

时间:2016-01-18 16:49:24

标签: android class variables

实际上,我想将变量类型 Id 传递给一个类来初始化变量。

赞,Button myButton=new MyClass(Button, myButtonId);

此处按钮是变量类型,而 myButtonId 是来自xml的ID。

类(方法)将返回类似(Button)findViewById(R.id.myButtonId);

的内容

为此,我写了

Button myButton=new MyClass(Button, myButtonId);

Android Studio建议我

private class MyClass extends Button {
        public MyClass(Object p, Button myButtonId) {
            super();
        }
    }

super();行有错误。

我不知道要做更多。 有什么建议吗?

1 个答案:

答案 0 :(得分:0)

您需要在super函数中放置至少一个(context)参数 请在此处检查Button类的公共构造函数: Button public constructors

<强>更新

您需要将一个上下文传递给正在扩展Button的类,如下所示:

MyClass myButton = new MyClass(getApplicationContext());

然后在你的MyClass中:

public class MyClass extends Button {
    public MyClass(Context context) {
        super(context);
    }
}