2012-12-01 35 views
2

我在創建一個意圖導航到我的Android應用程序中的其他活動時有一些問題。當我創建的意圖的功能,它給了我一個錯誤說Android Intent構造函數在啓動意圖時未定義

The constructor Intent(new View.OnClickListener(){}, Class<MapItmeizedOverlay>) is undefined 

下面是它具有startActivity意圖SelectOptions.java

btnLocation.setOnClickListener(new View.OnClickListener() { 

     public void onClick(View v) { 
      // TODO Auto-generated method stub 

      Intent intent2 = new Intent(this, MapItmeizedOverlay.class); 
      startActivity(intent2); 


     } 
    }); 

回答

6

請填寫下面的代碼

Intent intent2 = new Intent(Current_Activity.this, MapItmeizedOverlay.class); 
startActivity(intent2); 

代替

Intent intent2 = new Intent(this, MapItmeizedOverlay.class); 
startActivity(intent2); 

用於在任何View上啓動新活動單擊使用當前活動上下文或應用程序上下文而不是View上下文,因爲Intent構造函數以當前上下文或應用程序上下文爲第一參數

+0

khan:謝謝。這工作。但是很奇怪,因爲我使用了我在同一個項目中發佈的語法,而這個項目並沒有工作。任何理由。 – noobcoder

+0

我認爲這是不可能的,因爲你可以在這裏看到http://developer.android.com/reference/android/content/Intent.html#Intent%28android.content.Context,%20java.lang.Class%3C?%3E %29意圖構造函數將packageContext作爲第一個參數 –

+0

@noobcoder您顯示的語法將永遠不會工作。你確定它是在onClickListener中嗎?原因是onClickListener本身就是一個類,所以'this'是對監聽器實例的引用,而不是它所包含的活動。 – Simon

相關問題