2012-01-26 22 views
2

我知道這個問題是一般的,但我總是面對這個問題。 我的問題是,我可以在Activity達到getResource()getContext()但是當我想用一個類沒有活動 例如: public class MapOverlay extends ItemizedOverlay除了Activity類,我怎樣才能到達getResources()和Context?

我不能達到getResources()Context

我該怎麼做,任何人都知道任何詭計?

回答

0

ItemizedOverlay in not extends android.content.Context

您可以創建一個像

private Context mContext;  
public MapOverlay(Context context){ 
this.mContext=context; 
} 

的construcor,然後使用mContext場致電getResource()getContext()方法。

1

我通常做下列方式:

  • 創建一個類,它擴展Application,說MyApp
  • 聲明一個private static Context context
  • 聲明一個(靜態)的吸氣劑爲context
  • 初始化場onCreate(): context = this

現在情況下通過MyApp.context()

+0

嗨灰thx明確answer.I想問我不使用活動什麼是onCreate? – DuyguK

+0

'Application'類具有'onCreate()'方法,在應用程序啓動時執行。不要忘記在清單中聲明它:' Ash

+0

如果你添加oncreate,你會誤解我嗎?它與acvitiy沒有區別嗎? – DuyguK

0

是跨所有應用程序利用Just暴露使用Context的MapOverlay中的公共方法。

public void setContext(Context context) { 
     mContext = context; 
}