kotlinでUI部品を継承するには少し工夫が必要です。
Android Studioでは簡単にUI部品を継承したカスタムUI部品を作成することができるが、それはJavaだけの話でkotlinでは残念ながら簡単にUI部品を作成することができない。
例えば、Javaでは新しくクラスを作成するときにsuperクラスを指定するウィザードが開かれるがkotlinではそれがないので手動で設定しなければならない。また作成すべきコンストラクタについてもJavaは自動で生成してくれるがkotlinでは自動で生成してくれない。
そのため、ちょっと小技を利用して作成する必要がある。
まずは、通常の通りJavaでUI部品を継承するクラスをAndroid Studioの機能を利用して作成する。
具体的にはプロジェクトツリービューからjaveディレクトリのtest以外のディレクトリを選択して右クリック→New→
java classを選択する。そうするとウィザードが開くのでSuperclassに継承元のUI部品となるクラスを入力し、作成したいクラス名を入力してokボタンを押す。そうすると、最低限のコードが記述される。
ここにはコンストラクタやoverrideすべきメソッドが記述されていない。そのためもし、それがエラー状態であればクラス名のところに下線に赤い波線が表示されていると思う。
そこでalt+insキーを押すと、Generateダイアログが表示されるので、そこからconstructorを選択すると記述できるコンストラクタの一覧が表示されるので、すべて選択すると自動的にコンストラクタが生成される。
Javaであれば、これで終了。
でもkotlinで作りので、もういちどツリービューからフォルダを選択して右クリックのNew→kotlin file/classを選択する。ダイアログが表示されるのでクラス名を入力しkindでclassを選択してokボタンを押すとclassを記述するテンプレートが表示される。
そしたら、さきほど作成したJavaのコードをコピーして、kotlinのほうの画面にペーストすればAndroid Studioが自動的にJavaのプログラムをkotlinに変換してくれるので、これで一応簡単に特定のUI部品を継承するクラスをAndroid Studioが自動的に作成するテンプレートに従って作成することができる。
Android Studioでは簡単にUI部品を継承したカスタムUI部品を作成することができるが、それはJavaだけの話でkotlinでは残念ながら簡単にUI部品を作成することができない。
例えば、Javaでは新しくクラスを作成するときにsuperクラスを指定するウィザードが開かれるがkotlinではそれがないので手動で設定しなければならない。また作成すべきコンストラクタについてもJavaは自動で生成してくれるがkotlinでは自動で生成してくれない。
そのため、ちょっと小技を利用して作成する必要がある。
まずは、通常の通りJavaでUI部品を継承するクラスをAndroid Studioの機能を利用して作成する。
具体的にはプロジェクトツリービューからjaveディレクトリのtest以外のディレクトリを選択して右クリック→New→
java classを選択する。そうするとウィザードが開くのでSuperclassに継承元のUI部品となるクラスを入力し、作成したいクラス名を入力してokボタンを押す。そうすると、最低限のコードが記述される。
ここにはコンストラクタやoverrideすべきメソッドが記述されていない。そのためもし、それがエラー状態であればクラス名のところに下線に赤い波線が表示されていると思う。
そこでalt+insキーを押すと、Generateダイアログが表示されるので、そこからconstructorを選択すると記述できるコンストラクタの一覧が表示されるので、すべて選択すると自動的にコンストラクタが生成される。
Javaであれば、これで終了。
でもkotlinで作りので、もういちどツリービューからフォルダを選択して右クリックのNew→kotlin file/classを選択する。ダイアログが表示されるのでクラス名を入力しkindでclassを選択してokボタンを押すとclassを記述するテンプレートが表示される。
そしたら、さきほど作成したJavaのコードをコピーして、kotlinのほうの画面にペーストすればAndroid Studioが自動的にJavaのプログラムをkotlinに変換してくれるので、これで一応簡単に特定のUI部品を継承するクラスをAndroid Studioが自動的に作成するテンプレートに従って作成することができる。