今まで作っていたJavaのソースを元に
Kotlinでプログラムを書こうとしたけれど
変換の仕方がわからない…と思った時のメモです!

 

viewPager.setCurrentItem

 Java 
viewPager.setCurrentItem(1);


 Kotlin 
mViewPager.currentItem = 1

 

(CustomImageViewなどの)コンストラクタ部分

Java 

public CustomImageView(Context context) {
super(context);
}

public CustomImageView(Context context, AttributeSet attrs) {
super(context, attrs);
init(context);
}

public CustomImageView(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
}

 Kotlin 

constructor(context: Context?) : super(context) {
}

constructor(context: Context?, attrs: AttributeSet?) :super(context, attrs) {
}

constructor(context: Context?, attrs: AttributeSet?, defStyleAttr: Int) :super(context, attrs, defStyleAttr) {
}

 

 

extends、implements

Java 

public class CustomImageView extends android.support.v7.widget.AppCompatImageView {
…
}

 Kotlin 

class CustomImageView : android.support.v7.widget.AppCompatImageView {

 

Javaで「extends」と書いていたところは、
Kotlinでは「:(コロン)」で置き換えるとうまくいったよ、というメモです。

 

どうやら、implementsも含め、複数書く場合は「,(カンマ)」で区切って続けるといいようですー。
(以下は複数ある場合の書き方の例です…)

class MyClass : SuperClass(), MyInterface, Serializable

 

スポンサーリンク