2013-07-12 47 views
0

如何調用一個方法有參數「上下文」如何調用一個方法有參數「上下文」

Class Abc { 

private static synchronized void int d() { 

abcd(); 

//如何調用此方法?如果我添加abcd(上下文)它不會工作, 我需要再次初始化上下文嗎?如果是的話如何?

} 

public static void abcd(Context context){ 
//I am doing something 
} 

} 
+0

傳遞您的活動上下文作爲參數... –

+0

abcd(getApplicationContext); –

+1

abcd(Abc.this);如果Abc是一個活動。 –

回答

0

如果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()); 
+1

關於上下文類型和適用範圍的好博客帖子http://www.doubleencore.com/2013/06/context/因爲僅僅放上「上下文」是不夠的,所以最好放一個正確的: ) –

+0

Thanks Kidoki,我是簡單的班級,而不是活動,我只是試圖按照你解釋的方式。但由於abcd是靜態方法「this.context」不起作用。你能提出一些不合情理的東西嗎? – user2568219

+0

尤里,謝謝,這是真正有用的鏈接。 – user2568219

相關問題