2013-12-12 35 views
8

我想打電話給getActivity()在OnItemClickListener:Android:如何在OnItemClickListener()中調用getActivity()?

class ViewTest{ //called in a fragment 
setOnItemClickListener(new OnItemClickListener() { 

      @Override 
      public void onItemClick(AdapterView<?> parent, View view, int p, long i) { 
       ((MainActivity) getActivity()).makeResultsbarVisible(); 
... 
      } 

     }); 

}

在片段中,類實例爲:

ViewTest editTest = new ViewTest(this); 

但我得到一個錯誤,我無法修復:

The method getActivity() is undefined for the type new AdapterView.OnItemClickListener(){} 

如何調用getActivity在onItemClick()?謝謝。

+0

如果可能的話發表您的滿級代碼...你在片段使用makeResultsbarVisible()? –

+0

這是一個活動還是一個片段? – rahulritesh

+0

它在一個實例化在一個片段中的類 – user2212461

回答

25

您只能在Fragment類中使用getActivity或將其擴展。如果您onItemClickListener處於Activity使用MainActivity.this

+0

偉大的解決方案!什麼給我MainActivity.this當從MainActivity類中的Listener調用,MainActivity的當前實例? – pepper42

0

使用Class_name.this或定義Context變量。然後調用使用Context變量,

一樣,

Context c = this; 

c.makeResultsbarVisible(); 
相關問題