Вниз  Android-программирование (1-ые посты)
- 18.05.2015 / 13:46
Ze88s
  Пользователь

Ze88s 
Сейчас: Offline
Пока все на своем компе запускаю, тестирую.Но есть одна проблема немогу открыть нужные порты на модеме huawei если кто знает напишите пожалуйста в лс (сори за оффтоп) :)
- 25.05.2015 / 02:46
Nevesel
  Пользователь

Nevesel 
Сейчас: Offline
Всем привет! Подскажите, пожалуйста, как сделать копию объекта класса с другим именем, чтобы добавить его в ArrayList? Я написал
  1. //метод "одеть вещь"
  2. public void itemDressOn(Item item){
  3. case item.HEAD:
  4. Item head=item;
  5. //если на персе есть такая вещь
  6. if(itemsDress.contains(head)){
  7. //то вещь снять,
  8. inventory.add(itemsDress(head));
  9. itemsDress.remove(head);
  10. //а одеть другую
  11. itemsDress.add(head);}}

прошу сильно не ржать, я первый раз такое пишу :-D :gg:
Вообщем проблема- подчеркивает желтым цветом новосозданный head, и пишет...
Блин, сейчас зашëл в проект- уже ничего не пишет :-(
Но что-то вроде- "к этому объекту не будет доступа" хз, извините за накладку...
И вот тут
inventory.add(itemsDress(head));
по названию добавлять не хочет, но я по индексу сделаю.
Ах,да, что спросить-то хотел -кто делал подобное, подскажите пожалуйста тупоумному мне- как сделать получше сей метод?

Изменено Nevesel (25.05 / 02:51) (всего 2 раза)
- 25.05.2015 / 04:50
Freddy
  Пользователь

Freddy 
Сейчас: Offline
Nevesel,
  1. Item head = item;
Этим действием ты копируешь не объект, а ссылку на объект. Чтобы создать копию, нужно реализовать интерфейс Cloneable и вызывать метод clone(). http://javateaching.blogspot.com/2011/11/clone.html?m=1
- 25.05.2015 / 09:15
aNNiMON
  Супервизор

aNNiMON 
Сейчас: Offline
Nevesel, а я бы посоветовал создать копирующий конструктор, потому что Cloneable пока что ни в одном Android проекте не видел.
Допустим, у тебя класс Item таков:
  1. class Item {
  2.     String name;
  3.     int count;
  4.     List list;
  5. }
Делаешь такой конструктор:
  1. public Item(Item another) {
  2.     name = new String(another.name);
  3.     count = another.count;
  4.     list = new ArrayList(another.list);
  5. }
В копирующем конструкторе важно для всех объектов (String, List, ...) создать новый экземпляр и задать такое же содержимое, а для примитивов (boolean, int, ...) можно сразу присваивать значения.
__________________
 let live
- 25.05.2015 / 13:48
Naik
  Пользователь

Naik 
Сейчас: Offline
Nevesel, case item.HEAD:

это еще что?
- 26.05.2015 / 01:48
Nevesel
  Пользователь

Nevesel 
Сейчас: Offline
Naik, это экземпляр класса Item, в нëм есть final static int HEAD=0;
- 26.05.2015 / 03:40
Nevesel
  Пользователь

Nevesel 
Сейчас: Offline
aNNiMON, спасибо, пойду пробовать.
- 26.05.2015 / 13:33
Naik
  Пользователь

Naik 
Сейчас: Offline
Nevesel, и оно компилится??
- 27.05.2015 / 15:08
Stavrogin
  Пользователь

Stavrogin 
Сейчас: Offline
Добрый день. Подскажите что значит в разметке предупреждение.
[Accessibility] Missing contentDescription attribute on image.
([Доступность] Отсутствует contentDescription атрибут изображения).
Изображение вроде есть и программа работает.


Прикрепленные файлы:
main.xml (4.39 кб.) Скачано 552 раза
- 27.05.2015 / 15:39
Stavrogin
  Пользователь

Stavrogin 
Сейчас: Offline
Разобрался
Наверх  Всего сообщений: 4453
Фильтровать сообщения
Поиск по теме
Файлы топика (184)