У меня обычно нет проблем с деталями, но на этот раз я получил NPE ... и я не могу его исправить. Пожалуйста, любезно помогите мне.Прохождение классного фрагмента от фрагмента к другому действию
NPE произошел только, когда я пытаюсь передать приемлемый класс из фрагмента в другое действие. Вещи, работающие нормально, если я передаю посыльный класс из активности в другую деятельность или от активности до фрагмента.
Это мой код фрагмента, child
(parcelable класс) не равно нулю, когда я отлажена его:
if(v == imgChild)
{
Intent i = new Intent(getActivity(), DetailChildActivity.class);
i.putExtra("child", child);
startActivity(i);
Log.d("menu", "children");
}
Вот в моей целевой onCreate
деятельности:
Bundle data = getIntent().getExtras();
if(data != null)
{
child = data.getParcelable("child"); //NPE here
txtName.setText(child.getName());
}
Это странно. Данные НЕ равны нулю, но аргумент всегда равен нулю.
Это мой parcelable (Child
) Класс:
public final Parcelable.Creator<Child> CREATOR = new Parcelable.Creator<Child>() {
public Child createFromParcel(Parcel in) {
return new Child(in);
}
public Child[] newArray(int size) {
return new Child[size];
}
};
private Child(Parcel in) {
id = in.readInt();
user_id = in.readInt();
name = in.readString();
gender = in.readString();
born_date = in.readString();
born_hour = in.readString();
hospital = in.readString();
result = in.readString();
}
@Override
public int describeContents() {
// TODO Auto-generated method stub
return 0;
}
@Override
public void writeToParcel(Parcel dest, int flags) {
// TODO Auto-generated method stub
dest.writeInt(id);
dest.writeInt(user_id);
dest.writeString(name);
dest.writeString(gender);
dest.writeString(born_date);
dest.writeString(born_hour);
dest.writeString(hospital);
dest.writeString(result);
}
Это то, что log cat
сказал:
ожидается приемник типа com.blabla.child, но получил нулевой
Спасибо за ваше время.
Можете ли вы опубликовать полный след назад, а также код, который читает и записывает объект в посылку? спасибо – Fred
@Fred извините, что вы подразумеваете под «полным следом»? Я напишу свой код для чтения и записи, спасибо –
@Fred done ..... –