2014-01-08 4 views
0

В моем случае у меня есть два класса: MenuActivity, MinhaEscolaActivity. Существует метод в MenuActivity, который называется quemSouEu, это нестационарный метод. Он также нуждается в некоторых свойствах, определенных в методе конструктора MinhaEscolaActivity. Если я создам новый объект MinhaEscolaActivity по адресу MenuActivity, эти свойства будут пустыми, и я получу NullPointerException.Как получить доступ к нестационарному методу, требующему некоторой информации?

Есть ли способ использования метода quemSouEu от MenuActivity класс?

+1

Можете ли вы показать код «MenuActivtiy»? – Raghunandan

+0

Работа с фрагментами, это не очень хорошая идея? –

ответ

1

Вы не должны создать объект деятельности самостоятельно. Активность - это основной компонент андроида, который должен быть создан системой.

Если у вас есть некоторые функции для совместного использования между действиями, вы должны создать другой класс и создать экземпляр объекта в своей деятельности.

Если у вас также есть данные для обмена, вы можете думать о некоторых из STANDAR способов обмена данными, как вы можете прочитать in this answer

Какие объекты, которые вы создаете на второй конструктор класса? вы можете начать работу и получить результат, но вы должны сделать это только в том случае, если на самом деле вам нужно показать новое представление или взаимодействовать с пользователем по-разному, вы не должны указывать системе на запуск нового действия только для вызова функции.

1

Вы можете использовать намерения для передачи значений между действиями. Вы никогда не должны создавать экземпляр класса активности. Взгляните на ответ Рагав Суд в следующей почте

Can i Create the object of a activity in other class?

Ваши варианты хранения

http://developer.android.com/guide/topics/data/data-storage.html

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

Вы можете передать данные из MinhaEscolaActivity в MenuActivtiy с использованием намерений и выполнить метод в MenuActivity это сам

Смежные вопросы