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

Программирование Android

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.70
metrolog
4 / 4 / 0
Регистрация: 18.11.2012
Сообщений: 101
#1

ArrayList из обьектов класса - Программирование Android

29.12.2012, 00:33. Просмотров 1255. Ответов 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
Здравствуйте! Я подобрал для вас темы с ответами на вопрос ArrayList из обьектов класса (Программирование Android):

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

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

Как поместить в preferences arrayList типа: arraylist<Class> - Программирование Android
Как поместить в preferences arrayList типа: arraylist&lt;Class&gt; Class содержит вид: public class CountryClass { private String...

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

Setonclicklistner для множества обьектов - Программирование Android
у меня есть 16 кнопок ColorButton1=(Button)findViewById(R.id.button00); ColorButton2=(Button)findViewById(R.id.button01); ...

Динамическое создание динамических обьектов - Программирование Android
Пишу игру. Есть уровни. В каждом уровне заданное количество обьектов-соперников. Есть класс Соперник, который содержит функции...

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
1159 / 983 / 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
1159 / 983 / 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
1159 / 983 / 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
1159 / 983 / 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
1159 / 983 / 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
Привет! Вот еще темы с ответами:

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

Поворот экрана и пересоздание обьектов. Как делают матёрые разработчики? - Программирование Android
Разрабатываю приложение, решил делать одно активити и FrameLayout в нем, куда будут помещаться фрагменты (настройки, диалоги и т.д.). Все...

ArrayList - Программирование Android
Доброго времени суток! Мне нужно сделать случайную выборку чисел из массива и чтобы в последующим запросе небыло повторений. Так вот...

ArrayList - Программирование Android
Здравствуйте. Сразу вопрос. У меня есть ArrayList заполнен данными. Вот структура: 1 Физика,Математика,Химия Мороз Т.Ю.,Клюк...


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

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

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