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ぽい(?)感じの書き方がまだわかってないんですが、引き続きやってみようと思います。