如何从此资源获取字符串值“cancel”int:android.R.string.cancel?如何将android资源int转换为字符串。例如:android.R.string.cancel?
谢谢
如何从此资源获取字符串值“cancel”int:android.R.string.cancel?如何将android资源int转换为字符串。例如:android.R.string.cancel?
谢谢
只需使用Context#getString()
:
String string = getString(android.R.string.cancel);
我已经尝试过这种方法,但没有成功......我有一个类:
public class MyDialogFragment extends DialogFragment {
DialogFragment不是Context的子类,所以你n eed去获得有效的访问权限(比如你的Activity)。使用此:
String string = getActivity().getString(android.R.string.cancel);
,或因您发现您可以使用onAttach()
通过活动,却明白,只要你有一个有效的上下文一起工作,你可以做一个片段这里面的任何地方。
正如所指出的位置:http://developer.android.com/reference/android/content/Context.html#getString(int)
String s = context.getString(android.R.string.cancel);
context
可以是当前活动,或者继承Context
抽象类的任何对象。
这会将任何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);
希望这有助于。
我已经尝试过这种方法,但没有成功......但现在我知道我在做什么错了:我有一个类:'公共类MyDialogFragment扩展DialogFragment {'和这个类内我做:private String xbtAffirmativeLabel = getString(android.R.string.cancel);这是问题所在,我只能在类似下面的方法中做到这一点:public void onAttach(Activity activity){感谢您的支持,它帮助我实现了这一点。 – HugoXP