2011-10-07 114 views
1

我试图将以下教程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 

任何人都可以指出我要去哪里错?谢谢大家

迈克尔

+1

尝试'classOf [MainActivity]'而不是'MainActivity.class'。 – agilesteel

+0

这对var intent有效:Intent = new Intent(classOf [MainActivity] .getBaseContext(),classOf [MainActivity])第二个参数。我仍然在getBaseContext部分下面有一条红线......有什么建议吗? – MRN

+0

如有疑问,请尝试编译。如果有效,红线是错误的。 – ziggystar

回答

1

试试这个。:

val myIntent = new Intent(CurrentActivity.this, classOf[DestinationActivity]) 

第一个参数应该是当前活动的实例。 (由于Activity扩展上下文,并且需要当前上下文)