如何從此資源獲取字符串值「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