#android #arrays #android-intent #parcelable
#Android #массивы #android-намерение #разделяемый
Вопрос:
Как отправить 2D массив объектов, подлежащих отправке, в другое действие с помощью intent? Любая помощь?
Вот мой разделяемый пользовательский объект:
public class PTagData implements Parcelable {
public int mStartWordIndex;
public PTagData(int startWordIndex) {
this.mWordsPerRow = wordsPerRow;
}
protected PTagData(Parcel in) {
mStartWordIndex = in.readInt();
}
public static final Creator<PTagData> CREATOR = new Creator<PTagData>() {
@Override
public PTagData createFromParcel(Parcel in) {
return new PTagData(in);
}
@Override
public PTagData[] newArray(int size) {
return new PTagData[size];
}
};
@Override
public int describeContents() {
return 0;
}
@Override
public void writeToParcel(Parcel dest, int flags) {
dest.writeInt(mStartWordIndex);
}
}
Я создаю объект, подобный этому :
final PTagData[][] datas = new PTagDatas[2][30];
for (int i = 0; i < 2; i ) {
for (int j = 0; j < 30; j ) {
datas[i, j] = getTagDatas(i, j);
}
}
Как передать такой объект другому действию?
Комментарии:
1. в качестве обходного пути вы могли бы создать класс
SomeClass
, который будет реализовывать parcellable и содержать 1D массив вашего объекта, затем вы создаете другой 1D массивSomeClass
и передаете его как 1D массив Parcellable. Или также вы можете объединить свой 2D массив в одномерный массив, а затем разделить его обратно на 2D2. Второе решение кажется лучше.
3. это все зависит от вас. Стандартного способа сделать это нет, вы можете выбрать любой обходной путь, который вам нужен.