2011-10-07 83 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擴展上下文,並且需要當前上下文)