Arraylist в отдельном файле Java, ни действия или фрагмент, как получить строковое значение из string.xml? - PullRequest
0 голосов
/ 21 октября 2018

Добрый день, хотелось бы узнать или попросить помощи.Я испытываю трудности с получением строкового значения из string.xml моего приложения.Я обращаюсь к нему через Arraylist (в отдельном java-файле. Arraylist не находится внутри действия или фрагмента).

Я пробовал как String.valueOf, так и Integer.toString (см. Ниже ss):

enter image description here

но результаты для обоих одинаковы (см. Ниже сс):

enter image description here

левые элементы должны быть строковыми значениями из моего string.xml, но я не знаю, как и почему.Я также попробовал Resources.getString, но он вылетает из приложения.

У вас есть идеи, которые я могу попробовать решить эту проблему?Спасибо, это будет очень цениться и извините за время, отвечающее на мой вопрос.

РЕДАКТИРОВАТЬ: Вот код (пожалуйста, смотрите сс ниже), и я также попробовал предложение getString ().enter image description here

извините, я действительно не очень хорош в разработке, но я готов слушать и учиться.

1 Ответ

0 голосов
/ 21 октября 2018

Добавьте аргумент context к вашей функции:

public static ArrayList<CategoryObject> getCategories(Context context) {
    final ArrayList<CategoryObject> categoryObjects = new ArrayList<>();
    final Resources resources = context.getResources();

    CategoryObject categoryObject = new CategoryObject();
    categoryObject.setCategoryTitle(resources.getString(R.string.psi));
    categoryObject.setItem1(resources.getString(R.string.psi1));
    categoryObject.setItem2(resources.getString(R.string.psi2));
    categoryObject.setItem3(resources.getString(R.string.psi3));
    categoryObject.setItem4(resources.getString(R.string.psi4));

    categoryObjects.add(categoryObject);

    return categoryObjects;
}

Обратите внимание, что я изменил имя вашей переменной ArrayList для использования стандарта Java camelCase (CategoryObjects -> `categoryObjects).

Тогда вам просто нужно передать ему объект Context.

Из действия:

Category.getCategories(this);

Из фрагмента:

Category.getCategories(getActivity());

В будущем, пожалуйста, вставьте свой код как текст .На самом деле это намного проще, чем снимать скриншот.

...