Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
metrolog
4 / 4 / 0
Регистрация: 18.11.2012
Сообщений: 101
#1

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

29.12.2012, 00:33. Просмотров 1279. Ответов 14
Метки нет (Все метки)

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() в другом классе, ошибок не выдает но при инициализации выходит из программы. Не могу понять в чем дело.

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.12.2012, 00:33
Ответы с готовыми решениями:

Не работает AutoCompleteTextView для ArrayList собственного класса
Добрый день. Я создал на форме AutoCompleteTextView и передаю в него ArrayList,...

Передать через intent ArrayList объектов своего класса
У меня есть ArrayList из обьектов моего класса. Мне нужно передать это через...

Как поместить в preferences arrayList типа: arraylist<Class>
Как поместить в preferences arrayList типа: arraylist&lt;Class&gt; Class содержит...

Хранение обьектов в SQLite
У меня есть класс Document который содержит следующие поля - Номер: строка,...

Динамическое создание динамических обьектов
Пишу игру. Есть уровни. В каждом уровне заданное количество...

14
mks81
7 / 7 / 0
Регистрация: 12.10.2012
Сообщений: 51
29.12.2012, 10:15 #2
а где:
Java
1
2
3
4
public Droid|(int a, int b)
{
....
}
?
0
metrolog
4 / 4 / 0
Регистрация: 18.11.2012
Сообщений: 101
29.12.2012, 16:25  [ТС] #3
Java
1
2
3
4
 Droid(int x, int y) {
 this.x = x;
 this.y = y;
}
конструктор вот.
его не достаточно?
0
V0v1k
1160 / 984 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
29.12.2012, 16:32 #4
в чем вообще проблема не понятно.
0
metrolog
4 / 4 / 0
Регистрация: 18.11.2012
Сообщений: 101
29.12.2012, 16:34  [ТС] #5
Droid.create() - на вызов этого метода ругается в логах.
0
V0v1k
1160 / 984 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
29.12.2012, 16:36 #6
а логи прочитать не пробовали?
0
metrolog
4 / 4 / 0
Регистрация: 18.11.2012
Сообщений: 101
29.12.2012, 16:37  [ТС] #7
а же говорю что по логам ругается на вызов этого метода.
0
V0v1k
1160 / 984 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
29.12.2012, 16:38 #8
Цитата Сообщение от metrolog Посмотреть сообщение
public void create(){
* * *Droides.add(new Droid(10, 10));
... ... ...
что это за ....?
не показываете полный код метода и хотите что бы мы нашли в нем ошибку?

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

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

ну и что тут не ясно?
0
Gruzer
8 / 8 / 0
Регистрация: 17.05.2012
Сообщений: 30
04.01.2013, 12:12 #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, будет кидать ошибку.
1
metrolog
4 / 4 / 0
Регистрация: 18.11.2012
Сообщений: 101
05.01.2013, 13:22  [ТС] #14
То есть либо я создаю экземпляр класса, либо создаю этот метод как статический, правильно?
больше вариантов нет?
я просто недавно начал знакомиться с ООП.)
0
Gruzer
8 / 8 / 0
Регистрация: 17.05.2012
Сообщений: 30
05.01.2013, 15:11 #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;





ЗЫ Сори за русский пишу на клаве без русской разкладки
И еще На Мой Взгляд лудше всего Если нужен массив Обектов Определенного класса
то лудше его создавать не в самом класе а там где он нужен
0
05.01.2013, 15:11
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.01.2013, 15:11

Setonclicklistner для множества обьектов
у меня есть 16 кнопок ColorButton1=(Button)findViewById(R.id.button00); ...

Разработка мобильного приложения на ОС Android с функцией определения местоположения обьектов
Ребята , доброго времени суток, долго мучался с определением темы на диплом в...

Поворот экрана и пересоздание обьектов. Как делают матёрые разработчики?
Разрабатываю приложение, решил делать одно активити и FrameLayout в нем, куда...


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru