2017-01-26 3 views
1

У меня есть автомобиль класса с этими полями:как создать preferencescreen для экземпляра каждого объекта

  • цвет
  • модель
  • имя

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

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

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

Предпочтения экран для автомобиля 1: key_car_color_1 key_car_name_1 key_car_model_1

Предпочтения экран для автомобиля 2: key_car_color_2 key_car_name_2 key_car_model_2

Я не уверен, если это лучший способ.

+0

Дайте каждому автомобилю уникальный идентификатор и добавьте его в общий ключ привилегий. – nullvoid

ответ

0

использование эта библиотека: https://github.com/orhanobut/hawk

эта библиотека может сохранить объект:

Hawk.init(context).build(); Hawk.put("myKey", new Car("red", "123", "BMW"));

, если хочет сохранить массив автомобилей:

List<Car> list = new LinkedList<>(); list.add(new Car("red", "123", "BMW")); list.add(new Car("blue", "1234", "BMW")); Hawk.put("cars", list); `

прибудет массив :

List<Car> list = Hawk.get(POSTS, new LinkedList<Car>());

+0

Вы можете улучшить свой ответ, показывая мне, как создать экран предпочтений на основе ключа Hawk? – matzrm

+0

@matzrm ответить обновлено –

+0

Извините, Reza, но я хотел бы знать, что является ключом, чтобы дать EditTextPreference для редактирования цвета автомобиля. – matzrm

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

  • Нет связанных вопросов^_^