Как я могу преобразовать ресурсы android int в строку. например: android.R.string.cancel? Как получить строковое значение "cancel" из этого ресурса int: android.R.string.cancel? Благодарю вас Ответ 1 Просто используйте Context#getString(): String string = getString(android.R.string.cancel); Я уже пробовал этот подход, но без успеха... У меня есть класс: public class MyDialogFragment extends DialogFragment { A DialogFragment не является подклассом Context, поэтому вам нужно получить доступ к допустимому (например, к вашей активности). Используйте это: String string = getActivity().getString(android.R.string.cancel); Или, как вы обнаружили, вы можете использовать Activity, прошедший в onAttach(), но понимаете, что вы можете делать это где угодно внутри фрагмента, если у вас есть действующий контекст для работы. Ответ 2 Как указано здесь: http://developer.android.com/reference/android/content/Context.html#getString(int) String s = context.getString(android.R.string.cancel); context может быть текущей активностью или любым объектом, наследующим абстрактный класс context. Ответ 3 Это конвертирует любой Android-ресурс в строку. В этом примере Ive использовал "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); Надеюсь, что это поможет.
Ответ 1 Просто используйте Context#getString(): String string = getString(android.R.string.cancel); Я уже пробовал этот подход, но без успеха... У меня есть класс: public class MyDialogFragment extends DialogFragment { A DialogFragment не является подклассом Context, поэтому вам нужно получить доступ к допустимому (например, к вашей активности). Используйте это: String string = getActivity().getString(android.R.string.cancel); Или, как вы обнаружили, вы можете использовать Activity, прошедший в onAttach(), но понимаете, что вы можете делать это где угодно внутри фрагмента, если у вас есть действующий контекст для работы.
Ответ 2 Как указано здесь: http://developer.android.com/reference/android/content/Context.html#getString(int) String s = context.getString(android.R.string.cancel); context может быть текущей активностью или любым объектом, наследующим абстрактный класс context.
Ответ 3 Это конвертирует любой Android-ресурс в строку. В этом примере Ive использовал "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); Надеюсь, что это поможет.