Android意图和斯卡拉
问题描述:
我试图将以下教程http://savagelook.com/blog/android/swipes-or-flings-for-navigation-in-android转换为Android的Scala代码。我把一切都运作良好,除了我还没有完成,但已经在错误MyGestureDetector类。我的代码遵循Android意图和斯卡拉
class MyGestureDetector extends SimpleOnGestureListener {
override def onFling(e1:MotionEvent, e2:MotionEvent, velocityX:Float, velocityY:Float):Boolean ={
var intent:Intent = new Intent (MainActivity.this.getBaseContext(), MainActivity.class)
true
}
override def onDown(e:MotionEvent):Boolean = {
true
}
}
我的代码是给我的MainActivity.this.getBaseContext红色下划线( )和MainActivity.class。该行旁边的红色x表示MainActivity不是一个封闭类,应该有一个标识符,但找到.class,并且MainActivity不是一个值。我正在导入以下软件包
import android.app.Activity
import android.os.Bundle
import android.content.Intent
import android.view.GestureDetector
import android.view.GestureDetector.SimpleOnGestureListener
import android.view.MotionEvent
import android.view.View
任何人都可以指出我要去哪里错?谢谢大家
迈克尔
答
试试这个。:
val myIntent = new Intent(CurrentActivity.this, classOf[DestinationActivity])
第一个参数应该是当前活动的实例。 (由于Activity扩展上下文,并且需要当前上下文)
尝试'classOf [MainActivity]'而不是'MainActivity.class'。 – agilesteel
这对var intent有效:Intent = new Intent(classOf [MainActivity] .getBaseContext(),classOf [MainActivity])第二个参数。我仍然在getBaseContext部分下面有一条红线......有什么建议吗? – MRN
如有疑问,请尝试编译。如果有效,红线是错误的。 – ziggystar