resource - ¿Cómo puedo convertir los recursos de Android int en una cadena. Ej.: android.R.string.cancel?
recursos android studio (3)
¿Cómo puedo obtener el valor de la cadena "cancelar" de este recurso int: android.R.string.cancel?
gracias
Como se indica aquí: http://developer.android.com/reference/android/content/Context.html#getString(int)
String s = context.getString(android.R.string.cancel);
context
puede ser la actividad actual, o cualquier objeto que herede la clase abstracta de Context
.
Esto convertirá cualquier recurso de Android en una cadena. En este ejemplo, he usado un ''R.color.myColor'' pero funcionará con cualquier tipo de recurso de Android.
colores.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);
Espero que esto ayude.
Simplemente use Context#getString()
:
String string = getString(android.R.string.cancel);
Ya he intentado este enfoque pero sin éxito ... Tengo una clase:
public class MyDialogFragment extends DialogFragment {
Un DialogFragment no es una subclase de Contexto, por lo que necesita obtener acceso a uno válido (como el de su Actividad). Utilizar esta:
String string = getActivity().getString(android.R.string.cancel);
O como descubrió, puede usar la Actividad pasada en onAttach()
, pero entienda que puede hacer esto en cualquier lugar dentro de un Fragmento siempre que tenga un Contexto válido para trabajar.