Выберите объект из списка - PullRequest
0 голосов
/ 30 марта 2012

У меня есть Activity в проекте, который содержит список объектов типа X. Эти объекты отображаются в виде списка по их имени.Когда я нажимаю на элемент в списке, я хочу продолжить с выбранного объекта и отобразить его детали.Теперь передача аргументов в Android через Activity не кажется такой удобной ... Итак, как обычно можно делать подобные вещи в Android?В настоящее время я вижу эту опцию: я запускаю новую активность и передаю идентификатор с пакетом.Затем снова извлеките объект из базы данных.

Ответы [ 3 ]

1 голос
/ 30 марта 2012

Я делаю это, помещая сериализованный JSON-объект в Bundle (putString) и передавая его через Intent, который я использую, чтобы запустить Activity, который детально покажет один элемент. вид.

РЕДАКТИРОВАТЬ: тот факт, что JSON-строка очень удобна для хранения в saveInstanceState, делает это решение еще более привлекательным IMO

0 голосов
/ 30 марта 2012

Если вы хотите отобразить сведения о выбранном элементе для нового действия, в основном действии следует использовать намерение, например:

Intent intentNew = new Intent(<YourActivity>.this, <NewActivity>.class);
        intentNew.putExtra("ItemDetails", vector);  //put an array or whatever you want, filled with item details
        startActivityForResult(intentNew,1);

В NewActivity, вы должны сделать:

 double[] vector= (double[]) getIntent().getSerializableExtra("ItemDetails");
0 голосов
/ 30 марта 2012

Существует несколько способов:

  1. Заставить ваш объект реализовать Serializable и поделиться им через намерение
  2. Передать идентификатор и получить его
  3. Использовать одноэлементный класс сстатические поля для разделения между классами
  4. Использовать GlobalState (нет опыта работы с этим, но я знаю, что это возможно)
  5. Использовать SharedPreferences (хотя это близко к использованию БД)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...