Я написал следующий код в моей деятельности класса,Как получить Parcable Bundle от деятельности в Fragment
ArrayList<TXData> data;
data= Map.getDataList();
Bundle bundle = new Bundle();
bundle.putParcelableArrayList("data",data);
Fragment fragment = new MapsFragment();
fragment.setArguments(bundle);
В MapsFragment
, я написал следующий код, чтобы получить данные о onActivityCreated()
метода.
ArrayList<TXData> dataList;
dataList=getArguments().getParcelableArrayList("data");
Он возвращает следующее исключение из класса Фрагментов.
Вызванный: java.lang.NullPointerException: Попытка вызвать метод виртуального java.util.ArrayList android.os.Bundle.getParcelableArrayList (java.lang.String) на нуль ссылки на объект
Я добавил точки отладки, чтобы выяснить причину проблемы. Он успешно добавляет данные в Bundle от Activity
, но не получает никаких данных во Фрагменте.
Просьба указать, что я делаю неправильно здесь.
РЕДАКТИРОВАТЬ Parceable Класс
public class TXData implements Serializable, Parcelable{
public String id;
public String title;
public String pId = "";
public float heading;
public float pitch;
public int totalCount;
int mData;
public TXSData(){
}
protected TXData(Parcel in) {
id = in.readString();
title = in.readString();
pId = in.readString();
heading = in.readFloat();
pitch = in.readFloat();
totalCount = in.readInt();
mData = in.readInt();
minPrice = in.readInt();
maxPrice = in.readInt();
isInFilter = in.readByte() != 0;
isEnabled = in.readByte() != 0;
totalCount = in.readInt();
}
public static final Creator<TXData> CREATOR = new Creator<TXData>() {
@Override
public TXData createFromParcel(Parcel in) {
return new TXData(in);
}
@Override
public TXData[] newArray(int size) {
return new TXData[size];
}
};
@Override
public int describeContents() {
return 0;
}
@Override
public void writeToParcel(Parcel dest, int flags) {
dest.writeInt(mData);
}
TXData Вы можете показать этот класс в теме? –
У вас есть это в 'onCreateView'? –
@SurajRao: Я обновил свой вопрос. @ ρяσѕρєяK: Да, onCreateView вызывается до того, как Activity onCreate завершает свою работу, поэтому он не смог добавить данные в пакет. в то время как 'onActivityCreated' успешно добавляет данные в Bundle – Kirmani88