Estoy tratando de usar una clase personalizada en mi actividad principal.
DrawingCanvas drawingCanvas = new DrawingCanvas();
Para definir la clase tengo que pasarle dos argumentos. Este es mi constructor.
public DrawingCanvas(Context context, @Nullable AttributeSet attrs) { super(context, attrs); }
Sé que necesito hacer algo como a continuación, pero no estoy seguro de qué pasar para el conjunto de atributos.
DrawingCanvas drawingCanvas = new DrawingCanvas(this, );
Supongo que DrawingCanvas
se extiende desde la clase View
o una que hereda de ella.
En este caso, es conveniente tener los constructores similares a este:
public DrawingCanvas(@NonNull Context context) { this(context, null); } public DrawingCanvas(@NonNull Context context, @Nullable AttributeSet attrs) { this(context, attrs, 0); } public DrawingCanvas(@NonNull Context context, @Nullable AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); // more code… }
Así podrás elegir el más adecuado. Como puede ver, cuando no hay AttributeSet
, simplemente puede pasar null
.
Ahora solo tendrías que hacerlo así:
DrawingCanvas drawingCanvas = new DrawingCanvas(this);