How can I obtain the string value "cancel" from this resource int: android.R.string.cancel ?
thank you
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.
android before R.string.cancel? Just getString(R.string.cancel) worked for me inside onCreateDialog in a dialog fragment in a class that extends android.support.v4.app.DialogFragmentAs 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.
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.
I know that's an old question, but it might help more people. What you can do is to call getIdentifier(). For that, you'll need to call it inserting after what value you want for a this variable, to make the string that you want for your resource ID. For exemple:
Your resources file:
R.string.cancel In java:
int resourceId = getResources().getIdentifier("cancel", "string", this.getPackageName()) println(getResources().getString(resourceId)); Then, in your rescourceId variable, you'll have an equivalent to: R.string.cancel. And, in println, you'll have the value correspondent of your resources string.
In Kotlin:
val resourceId = this.resources.getIdentifier("cancel", "string", this.packageName) println(resources.getString(resourceId)) With the same explanation that I said before.