KotlinでAndroidをしたいと思ってとりあえず手探り状態なのですが、
匿名クラスの宣言方法がよくわからなかったかったので、メモ。
class MyActivity() : Activity() {
override fun onCreate(savedInstanceState : Bundle?) {
super.onCreate(savedInstanceState)
//setContentView(R.layout.main)
val packageManager = getPackageManager()
val info = packageManager?.getPackageInfo(getPackageName(), 0)
val title = "${getString(R.string.app_name)} ${info?.versionName}"
AlertDialog.Builder(this).setIcon(R.drawable.icon)
?.setTitle(title)
?.setPositiveButton(R.string.ok, object : DialogInterface.OnClickListener {
override public fun onClick(dialog : DialogInterface?, which : Int) {
Toast.makeText(getApplicationContext(), R.string.ok, Toast.LENGTH_SHORT)?.show()
finish()
}
})
?.setCancelable(true)
?.setOnCancelListener(object : DialogInterface.OnCancelListener{
override fun onCancel(dialog : DialogInterface?){
finish()
}
})
?.create()
?.show()
}
}
object : DialogInterface.OnClickListener {…}という形なんすねー。
そういえばこれはKotlin Advent Calendarで見たわーと思ったら、ちゃんと匿名クラスを書く方法が書いてありますね…。
今のところ、Kotlinぽい(?)感じの書き方がまだわかってないんですが、引き続きやってみようと思います。
