Coding the LiveDrawingView class
The first thing we will do is solve the problem of our LiveDrawingView class not being of the View type and having the wrong constructor. Update the class declaration as follows:
class LiveDrawingView(
context: Context,
screenX: Int)
: SurfaceView(context){You will be prompted to import the android.view.SurfaceView class, as shown in the following screenshot:

Click on OK to confirm.
SurfaceView is a descendant of View and now LiveDrawingView is, by inheritance, also a type of View. Look at the import statement that has been added. This relationship is made clear, as highlighted in the following code:
android.view.SurfaceView
Tip
Remember that it is because of polymorphism that we can send descendants of View to the setContentView function in the MainActivity class, and that it is because of inheritance that LiveDrawingView is now a type of SurfaceView.
There are quite a few descendants of View that we could have extended to fix this initial...