2013-05-18 88 views
3

我的MainActivity擴展活動,我已經在通過MainActivity的實例其他類使用getContext()並能正常工作在那裏,我的代碼:爲什麼我得到「方法getContext()未定義類型MainActivity」?

convertView = LayoutInflater.from(parent.getContext()) 
          .inflate(R.layout.nowview, parent, false); 

類的構造函數:

public PictureCard(String url, String title, int index, 
              int pos, MainActivity parent) 
{ 
    this.parent = parent; 
    // ... 
} 

我如何打電話類

Card newCard = new PictureCard(links.get(index) , titles.get(index), 
                index, position, parent); 

(父從在MainActivity類傳入,因爲這)

+1

如果您發佈類的方法簽名和方法調用這將有助於 – stinepike

+0

行更新,對不起缺乏細節 – Osman

回答

4
+0

同一問題的「方法getActivityContext()是未定義的類型MainActivity」 – Osman

+0

一切形式的getContext的導致某種錯誤,這很奇怪,這是我運行相同的代碼在另一個類與父母的相同傳入和聲明,它的作品? – Osman

0

不是傳遞MainActivity的,你可以通過上下文參數LIK這

public PictureCard(String url, String title, int index, int pos, Context parent) 

,並呼籲像

Card newCard = new PictureCard(links.get(index) , titles.get(index), index, position, MainActivity.this); 
+0

我想我會嘗試,我只是困惑,爲什麼我正在做的是在一個類而不是另一個 – Osman

0

如果MainActivty延伸Activty,那麼就使用parent作爲背景:

convertView = LayoutInflater.from(parent) 
         .inflate(R.layout.nowview, parent, false); 

而且,我懷疑你在這裏傳遞錯誤的實例:

Card newCard = new PictureCard(links.get(index) , titles.get(index), 
               index, position, parent); 
                   ^^^^^^ 

如果它在內部類中,它應該是thisMainActivty.this

+0

然後我得到「方法膨脹(INT,ViewGroup,布爾)在類型LayoutInflater不適用於參數(int,MainActivity,布爾值)「 – Osman

+0

對不起,我意識到我錯過了我從MainActivity調用這個類調用這個類,但仍然爲什麼日食會給我這個錯誤,我創建了var – Osman

相關問題