В течение достаточно долгого времени у меня были проблемы с передачей переменных из одной Activity в другую, и мне обычно приходилось решать некоторые довольно уродливые хаки Static-class, чтобы заставить это работать.
Как правило, что-то вроде статического метода, который я вызываю с типом действия, вместе с переменными, которые требуются для действия. Они сохраняются в статической переменной и извлекаются в конструкторе указанного действия.
Как я уже сказал, довольно некрасиво. И нет такой вещи, как «myActivity.StartActivity(new Activity);». Все перегрузки для StartActivity принимают либо Intent, либо typeof(MyOtherActivity).
Итак, мой вопрос: я полностью неправильно понял концепцию действий или мне просто не хватает совершенно очевидного способа передачи им аргументов?
@Edit: причина, по которой я хочу передать фактическую ссылку на объект, а не просто копию объекта, заключается в том, что я пытаюсь передать модель представления из вышележащего действия в новое действие. И, конечно же, любые изменения, внесенные в эту модель представления, должны быть отражены в родительском действии, что будет возможно только в том случае, если модели представления двух действий указывают на один и тот же экземпляр.
Я пишу приложение с помощью Xamarin.Android, но код для C# и Java почти идентичен, поэтому ответы на любом из этих языков подходят.
Fragments
? - person Milen   schedule 20.10.2015