2015-05-04 2 views
1

Я пытаюсь передать массив (объектов), к сожалению (насколько я знаю) сериализуемый пакет не будет работать с пользовательскими объектами.Передача 2D-массива объектов другому Упражнение

У меня есть класс сидений:

public class seat{ 
    boolean state; 
    int Seatb; 
    } 

А вот код из первого действия:

seat [][] arrseat=new seat[20][20]; 
Intent intent = new Intent(this, MainActivity2.class); 
intent.putExtra("data", arrseat); 
startActivity(intent); 

Вторая активность:

seat [][] obseat=new seat[20][20]; 
Intent intent = getIntent(); 
obseat=intent.? 

Я не мог найти способ получить массив от намерения

+0

http://stackoverflow.com/questions/12214847/pass-2d-array-to-another-activity –

+0

Это вопрос может быть связан? http://stackoverflow.com/a/2141166/4194289 – statox

ответ

2

Массивы сериализуемы, поэтому вы можете использовать putSerializable. поставить значение

Intent i = new Intent(this, AnotherClass.class); 
Bundle b = new Bundle(); 
b.putSerializable("arr", seat); 
i.putExtras(b); 

получить значение

seat[][] arrseat = (seat[][]) bundle.getSerializable("arr"); 

also it is a similar problem here

+0

b.putSerializable («arr», место); не работает с массивом объектов – kalebora

+0

@kalebora причина, по которой это не работает, потому что 'seat' должен реализовать интерфейс Serializable – EpicPandaForce

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