Как передать данные из класса во фрагмент? - PullRequest
0 голосов
/ 02 ноября 2018

Я пытаюсь создать несколько фрагментов для приложения и хотел использовать один класс для представления его данных, таких как имена, уровни, состояние и т. Д.

Итак, внутри моего фрагмента, над которым я сейчас работаю, я знаю только, как использовать данные, объявленные в своем собственном файле классов, и применить их к счетчику. Ниже приведен код для него, и он отлично работает так, как я хочу. Но я хочу иметь файл класса с только переменными данных, чтобы я мог использовать глобально между всеми моими фрагментами и не повторять код снова и снова. Ниже мой код внутри моего фрагмента, который у меня есть сейчас.

@Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {

        View view = inflater.inflate(R.layout.fragment_hunt, container, false);

        String [] names = {"Peter Pan", "Captain Hook", "Jack Sparrow"};

        Spinner spinner = (Spinner) view.findViewById(R.id.spinner);
        ArrayAdapter<String> adapter = new ArrayAdapter<String>(this.getActivity(), android.R.layout.simple_spinner_item, names);
        adapter.setDropDownViewResource(android.R.layout.simple_dropdown_item_1line);
        spinner.setAdapter(adapter);

        return view;
    }

Так действительно, кто-нибудь знает, как бы я перетащил данные из приведенного ниже чистого Java-класса в этот фрагмент, чтобы я мог использовать их между многими фрагментами?

Класс, который я имею ниже, - это класс, который я создал просто для хранения моих переменных данных.

public class TreasureHunter {

    public static String[] name = new String[] {
            "Peter Pan",
            "Captain Hook",
            "Jack Sparrow"
    };

    public static int[] picturePath = new int[] {
            R.drawable.peter,
            R.drawable.hook,
            R.drawable.jack
    };

    public static int[] health = new int[] {
            120,
            100,
            110

    };
}

1 Ответ

0 голосов
/ 02 ноября 2018

Не уверен, правильно ли я вас понимаю, но если вы хотите извлечь / сохранить данные из статического класса, вы просто называете его как есть: String [] names = TreasureHunter.name. Фрагмент не имеет к этому никакого отношения.
Редактировать
Кроме того, из более подходящего ООП можно создать класс «Персонаж» с переменными имени, изображения, здоровья и т. Д. Создайте класс со статическим массивом символов «ростер». Затем создайте своих персонажей: Character peterPan = new Character (name, img, health) и добавьте его в свой список. Таким образом, у вас есть массив отдельных символов вместо массивов, которые нужно хранить параллельно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...