В моем приложении у меня есть класс «MyService», который выполняет резервное копирование с некоторых данных в телефоне, и это работает в потоке (). и в другом классе у меня есть это:Android: ERROR/AndroidRuntime (1389): FATAL EXCEPTION: Thread-99, java.lang.NullPointerException
public static final Parcelable.Creator<ParentActivityData> CREATOR = new Creator<ParentActivityData>() {
@Override
public ParentActivityData createFromParcel(Parcel parcel) {
return null;
}
, что я не использовать его в любом месте, когда я нажимаю кнопку резервного копирования я получаю эту ошибку:
ERROR/AndroidRuntime(1389): FATAL EXCEPTION: Thread-99
java.lang.NullPointerException
at com.---.---.MyService$1.run(MyService.java:51)
как я могу это исправить ???
EDIT:
package com.athena.paadbox.entity;
import android.os.Parcel;
import android.os.Parcelable;
import java.util.HashMap;
import java.util.List;
public class ParentActivityData implements Parcelable {
public List<SelectableEntity> listDataHeader;
public HashMap<String, List<SelectableEntity>> listDataChild;
public static final Parcelable.Creator<ParentActivityData> CREATOR = new Creator<ParentActivityData>() {
@Override
public ParentActivityData createFromParcel(Parcel parcel) {
ParentActivityData pad = new ParentActivityData();
return pad;
}
@Override
public ParentActivityData[] newArray(int i) {
return new ParentActivityData[0];
}
};
@Override
public int describeContents() {
return 0;
}
@Override
public void writeToParcel(Parcel parcel, int i) {
}
}
EDIT:
public class SelectableEntity implements Parcelable {
public SelectableEntity parent = null;
public String title = null;
public boolean state = false;
public SelectableEntity(String title) {
this.title = title;
}
public SelectableEntity(SelectableEntity parent, String title) {
this.parent = parent;
this.title = title;
}
@Override
public int describeContents() {
return 0;
}
@Override
public void writeToParcel(Parcel parcel, int i) {
}
}
вам нужно вернуть экземпляр ParentActivityData в createFromParcel(). (используйте параметр Parcel для чтения ранее записанных вами данных), вы можете подумать, что вы не используете CREATOR в любом месте, но андроид внутренне использует это поле и вызывает метод createFromParcel() ... –
@GopalRao: если я новый PranetActivityData и верну это , хорошо? –
Во-первых, ваш класс ParentActivity реализует Parcelable? если вы записываете данные в парцеллу, переопределяя writeToParcel()? –