2014-03-30 38 views
0

所以在這裏我有示例代碼:Android:如何將字符串「R.string.aButton」轉換爲資源R.string.aButton?

TextView aDisplayw=(TextView)findViewById(R.id.display); 

protected void set(String resource) { 
    String toResource = "R.string" + resource;//How to convert it into resource? 
    aDisplay.setText(getResources().getText(forString)); 
} 

那麼,有沒有辦法做到這一點?

+0

你試過[Java反射(http://docs.oracle.com/javase/tutorial/reflect/)? – xav

+0

我會讀那個... – user3479037

+0

你的問題很不清楚。請忘記代碼和「轉換」(您不能將一個整數轉換爲另一個整數),而是以最簡單的方式描述您正在嘗試執行的操作。 – Simon

回答

3

使用Resources.getIdentifier

int resourceId = getResources().getIdentifier(
    resource, // Name 
    "string", // Type 
    getPackageName()); 
aDisplay.setText(resourceId); 
+0

非常感謝你!解決方案非常簡單-_- – user3479037

+0

請注意,這很慢,不推薦。當然,有些時候你沒有選擇。但是,如果可以的話,最好避免這種方法。 –

+0

@JamesMcMurray - 你是完全正確的,儘管如果你擁有的只是一個資源的名字,沒有太多的選擇。理想情況下,你只是想完全避免這種情況。 – ianhanniballake

相關問題