如何調用一個方法有參數「上下文」如何調用一個方法有參數「上下文」
Class Abc {
private static synchronized void int d() {
abcd();
//如何調用此方法?如果我添加abcd(上下文)它不會工作, 我需要再次初始化上下文嗎?如果是的話如何?
}
public static void abcd(Context context){
//I am doing something
}
}
如何調用一個方法有參數「上下文」如何調用一個方法有參數「上下文」
Class Abc {
private static synchronized void int d() {
abcd();
//如何調用此方法?如果我添加abcd(上下文)它不會工作, 我需要再次初始化上下文嗎?如果是的話如何?
}
public static void abcd(Context context){
//I am doing something
}
}
如果Abc
類延伸的Activity
,那麼你就能夠調用getApplicationContext()
方法:
abcd(getApplicationContext());
如果Abc
不會擴展Activity
你應該讓你Abc
類中的setter方法:
class Abc {
private Context mContext;
//...
public void setContext(Context context) {
mContext = context;
}
//...
}
然後從活動中調用它:
Abc abc = new Abc();
abc.setContext(getApplicationContext());
關於上下文類型和適用範圍的好博客帖子http://www.doubleencore.com/2013/06/context/因爲僅僅放上「上下文」是不夠的,所以最好放一個正確的: ) –
Thanks Kidoki,我是簡單的班級,而不是活動,我只是試圖按照你解釋的方式。但由於abcd是靜態方法「this.context」不起作用。你能提出一些不合情理的東西嗎? – user2568219
尤里,謝謝,這是真正有用的鏈接。 – user2568219
傳遞您的活動上下文作爲參數... –
abcd(getApplicationContext); –
abcd(Abc.this);如果Abc是一個活動。 –