ScalaでIntent使う時に詰まった
経緯
Scala使ってAndroidアプリの画面遷移させようとした時に
ちょっと困ったのでメモ。
Scalaでクラスインスタンスを取得
JavaだとIntentをnewするとき
Intent intent = new Intent(this, CallActivity.class)
ってなるわけですが、Scalaでは
val intent = new Intent(this, CallActivity.class)
ってやると怒られます。
そもそもこの".class"ってのを普通にクラスファイル呼んでると勘違いしてました(涙目。
.classはクラスインスタンスを取得を取得するメソッドなんですね。
んで、本題のScalaではclassOfメソッドを使って
val intent = new Intent(this, classOf[CallActivity])
startActivity(intent)
で画面遷移が出来ます。
参考文献
- papamitra
http://d.hatena.ne.jp/papamitra/20101211/scalaadvent2010 - Javaリフレクションメモ(Hishidama's Java Reflection Memo)
http://www.ne.jp/asahi/hishidama/home/tech/java/reflection.html