2017-05-28 35 views
-1

我正在編寫一個應用程序,它從網站獲取JSON,然後在列表視圖中列出內容。現在,由於API本身只返回像這樣的名稱:「twisted_castle」而不是「」,我創建了一個新的類來將通用名替換爲我之前添加到strings.xml的正確名稱。如何在另一個類的strings.xml中使用字符串

現在我可以在MainActivity中通過String test = getString(R.string.key)獲得字符串,但是由於我創建了一個替代品發生的新類,因此我無法以某種方式使用getString

我已經發現我需要以某種方式獲取/使用MainActivity的上下文,但是我發現的任何解決方案都無法正常工作,而且我對整個上下文的工作方式也有點惱火。

任何人都可以幫助我解決這個問題,並且可以很好地解釋上下文是如何工作的?

+1

可能重複[什麼是Android上的'上下文'](https://stackoverflow.com/questions/3572463/what-is-context-on-android) – zsmb13

+0

爲什麼你創建一個新這是什麼類?你可以通過創建一個方法並將上下文作爲參數來實現。 – Denny

+0

@Denny因爲我想拆分我的代碼,所以我最終沒有以一大堆代碼結束.. – derRAV3N

回答

0

你可以使用右鍵爲:

mcontext.getString(R.string.something); 

所有你需要做的是初始化背景在班裏的一些地方,如:

static Context mcontext; 
public void setmContext(Context context){ 
    this.mcontext=context; 
} 

,並呼籲從你的活動或者setmContext(本)你有上下文屬性

+0

謝謝,結果如此,所以我必須在需要的類中創建一個Context對象然後使用也在該類中的方法進行設置,但是我需要從「具有」上下文的類中調用它。我試圖理解這一點,但我還沒有用java那麼遠。 – derRAV3N

+0

也許這[post](https://stackoverflow.com/questions/3572463/what-is-context-on-android)會讓你更好地瞭解上下文 – dali

相關問題