Форум программистов, компьютерный форум CyberForum.ru

ArrayList из обьектов класса - Android

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.70
metrolog
4 / 4 / 0
Регистрация: 18.11.2012
Сообщений: 101
29.12.2012, 00:33     ArrayList из обьектов класса #1
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
public class Droid {
 
 
 public Bitmap bmp; 
 int xSpeed = 1 ;   
 int ySpeed = 1 ; 
  int y = 0;
  int x = 0;
 int a = 32;
 private GameView GV;
 public List<Droid> Droides = new ArrayList<Droid>();
 int nextY, nextX;
 
 
 Droid(int x, int y) {
 this.x = x;
 this.y = y;
}
 
public void create(){
     Droides.add(new Droid(10, 10));
... ... ...
 }
Вызываю метод Droid.create() в другом классе, ошибок не выдает но при инициализации выходит из программы. Не могу понять в чем дело.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
mks81
 Аватар для mks81
7 / 7 / 0
Регистрация: 12.10.2012
Сообщений: 51
29.12.2012, 10:15     ArrayList из обьектов класса #2
а где:
Java
1
2
3
4
public Droid|(int a, int b)
{
....
}
?
metrolog
4 / 4 / 0
Регистрация: 18.11.2012
Сообщений: 101
29.12.2012, 16:25  [ТС]     ArrayList из обьектов класса #3
Java
1
2
3
4
 Droid(int x, int y) {
 this.x = x;
 this.y = y;
}
конструктор вот.
его не достаточно?
V0v1k
1157 / 981 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
29.12.2012, 16:32     ArrayList из обьектов класса #4
в чем вообще проблема не понятно.
metrolog
4 / 4 / 0
Регистрация: 18.11.2012
Сообщений: 101
29.12.2012, 16:34  [ТС]     ArrayList из обьектов класса #5
Droid.create() - на вызов этого метода ругается в логах.
V0v1k
1157 / 981 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
29.12.2012, 16:36     ArrayList из обьектов класса #6
а логи прочитать не пробовали?
metrolog
4 / 4 / 0
Регистрация: 18.11.2012
Сообщений: 101
29.12.2012, 16:37  [ТС]     ArrayList из обьектов класса #7
а же говорю что по логам ругается на вызов этого метода.
V0v1k
1157 / 981 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
29.12.2012, 16:38     ArrayList из обьектов класса #8
Цитата Сообщение от metrolog Посмотреть сообщение
public void create(){
* * *Droides.add(new Droid(10, 10));
... ... ...
что это за ....?
не показываете полный код метода и хотите что бы мы нашли в нем ошибку?

Добавлено через 16 секунд
Цитата Сообщение от metrolog Посмотреть сообщение
а же говорю что по логам ругается на вызов этого метода.
ну так прочтите их.
metrolog
4 / 4 / 0
Регистрация: 18.11.2012
Сообщений: 101
29.12.2012, 16:39  [ТС]     ArrayList из обьектов класса #9
метод на этом кончается, а остальные методы класса не важны.
V0v1k
1157 / 981 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
29.12.2012, 16:42     ArrayList из обьектов класса #10
в общем ждем пока вы сами логи прочтете или нам покажите...

Добавлено через 2 минуты
да и код с которого вы вызываете этот метод важен.
metrolog
4 / 4 / 0
Регистрация: 18.11.2012
Сообщений: 101
29.12.2012, 16:58  [ТС]     ArrayList из обьектов класса #11
вот логи
Вложения
Тип файла: txt log.txt (1.7 Кб, 7 просмотров)
V0v1k
1157 / 981 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
29.12.2012, 19:27     ArrayList из обьектов класса #12
NullPointerException
GameView.java:58

ну и что тут не ясно?
Gruzer
 Аватар для Gruzer
8 / 8 / 0
Регистрация: 17.05.2012
Сообщений: 30
04.01.2013, 12:12     ArrayList из обьектов класса #13
Цитата Сообщение от metrolog Посмотреть сообщение
Java
1
2
3
4
5
 
public void create(){
     Droides.add(new Droid(10, 10));
... ... ...
 }
Напишите полное обращьение к данной функции.

Если хотите обращаться на прямую к методу через имя класса, то сделайте его статичным public static void create()
Тогдо обращение Droid.create(); Будет действительным.

Добавлено через 1 час 42 минуты
Забыл добавить что в данном случае это не решит проблемму , так как droids не будет существовать для public static void create, будет кидать ошибку.
metrolog
4 / 4 / 0
Регистрация: 18.11.2012
Сообщений: 101
05.01.2013, 13:22  [ТС]     ArrayList из обьектов класса #14
То есть либо я создаю экземпляр класса, либо создаю этот метод как статический, правильно?
больше вариантов нет?
я просто недавно начал знакомиться с ООП.)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.01.2013, 15:11     ArrayList из обьектов класса
Еще ссылки по теме:

Android ArrayList contains object
Android Setonclicklistner для множества обьектов
Android Работа с ArrayList
Android Передать через intent ArrayList объектов своего класса
Android Поворот экрана и пересоздание обьектов. Как делают матёрые разработчики?

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Gruzer
 Аватар для Gruzer
8 / 8 / 0
Регистрация: 17.05.2012
Сообщений: 30
05.01.2013, 15:11     ArrayList из обьектов класса #15
Вариант номер Один

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
public class Droid {
 
 
 public Bitmap bmp; 
 int xSpeed = 1 ;   
 int ySpeed = 1 ; 
  int y = 0;
  int x = 0;
 int a = 32;
 private GameView GV;
 public List<Droid> Droides = new ArrayList<Droid>();
 int nextY, nextX;
 
Droid(){} 
 
 Droid(int x, int y) {
 this.x = x;
 this.y = y;
}
 
public void create(){
     Droides.add(new Droid(10, 10));
... ... ...
 }

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
Обращение 
 
Droid d = new Droid();
d.create(); // добовляем в массив первый обект
d.create(); // добовляем второй 
 
d.Droides // масив обектов 
 
for(Droid droid: d.Drodes) // Можеш пробежатся по массиву и посмотреть что да как
{
    droid.x;
    droid.y;
}
Это не лудший вариант
так как для каждого элемента в масиве бедет свой масси обектов хоть и пустой
тоесть для каждого обекта в масиве бедет действительно присутствие всех этих
эелементов
public Bitmap bmp;
int xSpeed = 1 ;
int ySpeed = 1 ;
int y = 0;
int x = 0;
int a = 32;
private GameView GV;
public List<Droid> Droides = new ArrayList<Droid>();
int nextY, nextX;




Вариант Номер Два

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
public class Droid {
 public Bitmap bmp; 
 int xSpeed = 1 ;   
 int ySpeed = 1 ; 
  int y = 0;
  int x = 0;
 int a = 32;
 private GameView GV;
 public static List<Droid> Droides = new ArrayList<Droid>(); //делаем масив статик
 int nextY, nextX;
 
Droid(){} 
 
 Droid(int x, int y) {
 this.x = x;
 this.y = y;
}
 
public static void create(){  //делаем функцию статик
     Droides.add(new Droid(10, 10));
... ... ...
 }

Java
1
2
3
4
5
6
7
8
9
10
11
Обращение 
 
Droid.create(); // добовляем первый обект
Droid.create(); // второй
Droid.create(); // третий
 
for(Droid droid: Droid.Drodes) // Можеш пробежатся по массиву и посмотреть что да как
{
    droid.x;
    droid.y;
}
Этот вариант бедет полудше на мой взгляд
В данном Случае массив обектов типа Дроид будет один общий для всего класса Дроид
Для каждого обекта в массиве бедет действительно наличие все элементов
public Bitmap bmp;
int xSpeed = 1 ;
int ySpeed = 1 ;
int y = 0;
int x = 0;
int a = 32;
private GameView GV;
int nextY, nextX;





ЗЫ Сори за русский пишу на клаве без русской разкладки
И еще На Мой Взгляд лудше всего Если нужен массив Обектов Определенного класса
то лудше его создавать не в самом класе а там где он нужен
Yandex
Объявления
05.01.2013, 15:11     ArrayList из обьектов класса
Ответ Создать тему
Опции темы

Текущее время: 02:46. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru