2011-08-10 16 views
0

我想單擊GridView中的任何圖像時啓動一個Activity。 我maked這一點,但我有一個錯誤的getApplicationContext()在GridView上按下元素時無法啓動Activity

The method getApplicationContext() is undefined for the type new View.OnClickListener(){} 

代碼:

imageView.setOnClickListener(new View.OnClickListener() { 

       @Override 
       public void onClick(View view) { 
        if (position==0) { 
         Intent intent = new Intent(getApplicationContext(), carburant.class); 
         startActivity(intent); 

        } 
       } 

       }); 
+0

使用activityname.this getApplicationContext而不是(),嘗試 – Abhi

回答

0

問題是因爲參考差語境。試試這個,

Intent intent = new Intent(imageView.getRootView().getContext(), carburant.class); 
        startActivity(intent); 
+0

不幸的是,我有這樣的錯誤:方法startActivity(意向)是未定義的類型新View.OnClickListener(){} – androniennn

+0

同一範圍內的問題。您正嘗試在View上調用「startActivity」。你需要從上下文中調用它。 「imageView.getRootView()。getContext()。startActivity(intent)」 – jlindenbaum

0

你有一個範圍問題。視圖沒有getApplicationContext() - 您必須訪問父活動的範圍才能獲取應用程序上下文。

Intent intent = new Intent(MyParentActivity.this.getApplicationContext(), carburant.class); 
+0

總是顯示一條錯誤消息:沒有在範圍內可訪問Main_menu類型的封閉實例。 Main_menu類是它設置GridView(它的XML)的類。 – androniennn

相關問題