2016-03-16 24 views
0

我有一種情況,我正在創建JAR,我不想從/ res/values引用任何字符串或Int。所以,我到處硬編碼作爲字符串硬編碼Int參考創建JAR

event_info.put("CLIENT_HALT", new EventInfo(R.string.client_halt, R.drawable.error, 0, EV_PRIO_HIGH, 0)); 

正如你看到的「R.string.client_halt」是指在res /值字符串「暫停」/abc.xml

但它是int類型,所以我不能做這樣的

event_info.put("CLIENT_HALT", new EventInfo("Halt", R.drawable.error, 0, EV_PRIO_HIGH, 0)); 

下面是EventInfo方法

public EventInfo(int res_id_arg, int progress_arg, int priority_arg, int flags_arg) 
    { 
     res_id = res_id_arg; 
     //icon_res_id = icon_res_id_arg; 
     progress = progress_arg; 
     priority = priority_arg; 
     flags = flags_arg; 
    } 

如何克服這個問題和h ardcode int值在我的方法中。我想下面的情況,但它不會工作,給我「NumberFormatException的」

String halt = "Halt"; 
int foo = Integer.parseInt(halt); 

感謝

回答

0

通過傳遞ID到類的構造函數,你可以檢索下列方式的字符串。

String stringValue = getResources().getString(R.string.client_halt); 

如果你不能夠得到getResources()直接傳遞構造背景和執行下列操作

_context.getResources().getString(R.string.client_halt); 
+0

駿馬 - 這又是一回事。當類將運行時,它將搜索資源,並且在創建JAR時不會找到任何資源因素會導致資源崩潰,我們不包含資源 – user45678

相關問題