Передача данных об объекте области во фрагмент

Я работаю с отношением один ко многим в своем приложении, которое я пишу с помощью Realm.io. В пользовательском интерфейсе приложения я создаю действие, которое отображает информацию о родительском объекте вверху, а затем использует ViewPager для отображения информации о детях отрывками. С SQLite я бы передал информацию о внешних ключах фрагменту, чтобы фрагмент мог запросить базу данных и найти дочерние элементы.

В чем я не уверен, так это в том, как передать эту информацию внутри Realm.io. Есть ли механизм, чтобы сказать, что я хочу все объекты, которые имеют отношения с другим объектом? Могу ли я передавать ссылки на объекты области через разделяемый интерфейс? Я могу сделать запрос ко всем идентифицирующим атрибутам родителя, а затем напрямую захватить дочерние элементы, но это кажется подверженным ошибкам.

Спасибо, Энди


person MrWizard54    schedule 14.12.2014    source источник
comment
Приведенный ниже ответ эффективен при работе с действиями. Другой альтернативой может быть использование фрагментарно-ориентированного дизайна, в котором вы можете передавать данные через метод из базовой активности.   -  person MrWizard54    schedule 15.12.2014


Ответы (1)


Кристиан из Realm здесь. Ядро Realm поддерживает понятие обратных ссылок, что вам и нужно, но они еще не представлены в Java API, что, к сожалению, означает, что вы пока не можете их использовать. Поэтому вместо этого вам придется вручную поддерживать какой-то идентификатор ваших дочерних объектов.

Я бы предложил добавить свойство String с именем ID или аналогичное вашим дочерним объектам и присвоить им значение из UUID.getRandomUUID().toString() при их создании. Эти строки могут быть добавлены либо в Intent, либо в Bundle и проанализированы для вас фрагментами, где вы можете запросить дочерний объект, используя UUID.

person Christian Melchior    schedule 15.12.2014
comment
Спасибо за ответ. - person MrWizard54; 15.12.2014