私は本当にカスタムビューのコンストラクタが不思議です。現在私はextends
のRelativeLayout
を持っています。各ビューには初期化のためにcontext
が必要です。だから、私はsuper()
をコンストラクタに入れました。しかし、activity
が私のクラスに必要なので、私はcontext
をそれから取り出しました。私が知る限り、activity
はcontext
です。なぜAndroid Studio
は私にcontext
というコンストラクタが見つからないという検査をしていますか?私のクラスには、次のようになります。AndroidのカスタムビューでのIDE警告
public class CustomView extends RelativeLayout {
private Activity activity;
public CustomView(Activity activity) {
super(activity.getApplicationContext());
this.activity = activity;
initialize(activity.getApplicationContext());
}
//initialize method
}
これは、正確なメッセージAndroid Studio
が私を与えている:
カスタムビューのCustomViewが欠落しているコンストラクタツールによって使用されています(コンテキスト)または(コンテキスト、属性セット)または(コンテキストを、属性セット、int)
これを無視する必要がありますか、コンストラクタを渡す必要がありますか:activity
とcontext
?
ありがとうございました!