¿Cómo puedo obtener el valor de cadena «cancelar» de este recurso int: android.R.de la cadena.cancelar ?

gracias

InformationsquelleAutor HugoXP | 2012-11-14

3 Comentarios

  1. 48

    Simplemente utilizar Contexto#getString():

    String string = getString(android.R.string.cancel);

    Ya he probado este método, pero sin éxito… tengo una clase: public class MyDialogFragment extends DialogFragment {

    Un DialogFragment no es una subclase de Contexto, por lo que necesita para tener acceso a una tarjeta válida (como su Actividad). El uso de este:

    String string = getActivity().getString(android.R.string.cancel);

    O como tu descubrió usted puede utilizar la Actividad aprobada en onAttach(), pero entienda usted puede hacer esto en cualquier lugar dentro de un Fragmento de tiempo que tienen una validez de un Contexto para trabajar con.

    • Ya he probado este método, pero sin éxito… pero ahora sé lo que me estaba haciendo mal: tengo una clase: ‘public class MyDialogFragment se extiende DialogFragment {‘ y dentro de esta clase que estaba haciendo: private String xbtAffirmativeLabel = getString(android.R.de la cadena.cancelar) ; y este es el problema, sólo puedo hacer que dentro de un método como: public void onAttach(actividad Actividad) { gracias por su apoyo me ayudó a darme cuenta de que.
    • ¿Por qué utilizar android antes de R.string.cancel? Sólo getString(R.string.cancel) trabajado para mí en el interior de onCreateDialog en un fragmento de diálogo en una clase que extiende android.support.v4.app.DialogFragment
  2. 0

    Este va a convertir cualquier Android de recursos en una cadena.
    En este ejemplo he usado un ‘R. de color.myColor’ pero funciona con cualquier Android, tipo de recurso.

    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);

    Espero que esto ayude.

Dejar respuesta

Please enter your comment!
Please enter your name here