我遇到了创建JAR的情况,我不想从/ res / values引用任何String或Int。所以我到处都是硬编码
event_info.put("CLIENT_HALT", new EventInfo(R.string.client_halt, R.drawable.error, 0, EV_PRIO_HIGH, 0));
如你所见" R.string.client_halt"指String" Halt"在res / values / 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;
}
如何克服此问题并在我的方法中硬编码int值。我尝试过以下情况,但它不会工作并且给我" NumberFormatException"
String halt = "Halt";
int foo = Integer.parseInt(halt);
由于
答案 0 :(得分:0)
通过将id传递给类的构造函数,可以按以下方式检索字符串。
String stringValue = getResources().getString(R.string.client_halt);
如果您无法直接获取getResources(),请在构造函数中传递上下文并执行以下操作
_context.getResources().getString(R.string.client_halt);