如何从此资源中获取字符串值“cancel”int:android.R.string.cancel?
谢谢
答案 0 :(得分:46)
只需使用Context#getString()
:
String string = getString(android.R.string.cancel);
我已经尝试过这种方法,但没有成功......我上课了:
public class MyDialogFragment extends DialogFragment {
DialogFragment不是Context的子类,因此您需要访问有效的(如您的Activity)。使用此:
String string = getActivity().getString(android.R.string.cancel);
或者正如您所发现的那样,您可以使用onAttach()
中传递的活动,但了解您可以在片段内的任何位置执行此操作,只要您具有可用的有效上下文。
答案 1 :(得分:7)
如此处所示:http://developer.android.com/reference/android/content/Context.html#getString(int)
String s = context.getString(android.R.string.cancel);
context
可以是当前活动,也可以是继承Context
抽象类的任何对象。
答案 2 :(得分:0)
这会将任何Android资源转换为字符串。 在这个例子中,我使用了'R.color.myColor',但它可以用于任何Android资源类型。
colors.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="btnDialBgColor">#00BFA5</color>
<color name="btnDialBgColorActive">#C51162</color>
</resources>
TypedValue typedValueActive = new TypedValue();
TypedValue typedValue = new TypedValue();
getResources().getValue(R.color.btnDialBgColorActive, typedValueActive, true);
getResources().getValue(R.color.btnDialBgColor, typedValue, true);
希望这有帮助。