How can I obtain the string value \"cancel\" from this resource int: android.R.string.cancel ?
thank you
Simply use Context#getString():
String string = getString(android.R.string.cancel);
I've already tried this approach but with no success... I've a class:
public class MyDialogFragment extends DialogFragment {
A DialogFragment is not a subclass of Context, so you need to get access to a valid one (like your Activity's). Use this:
String string = getActivity().getString(android.R.string.cancel);
Or as your discovered you can use the Activity passed in onAttach()
, but understand you can do this anywhere inside a Fragment as long as you have a valid Context to work with.
This will convert any Android resource into a string. In this example I’ve used an ‘R.color.myColor’ but it will work with any Android resource type.
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);
Hope this helps.
As indicated here: http://developer.android.com/reference/android/content/Context.html#getString(int)
String s = context.getString(android.R.string.cancel);
context
can be the current activity, or any object inheriting the Context
abstract class.