そのため、2 つのアクティビティ間で Parcelable 配列を渡す際に問題が発生しています。何らかの理由で、私が呼び出しているアクティビティをロードする前に、アプリが爆発します。
これが私が渡そうとしているオブジェクトです。
import android.os.Parcel;
import android.os.Parcelable;
public class Inventory implements Parcelable{
public String inventory_id = "" ;
public String vin = "" ;
public String stock = "" ;
public String new_used = "" ;
public String certified = "" ;
public String mileage = "" ;
public Inventory() {}
@Override
public int describeContents() {
return 0;
}
@Override
public void writeToParcel(Parcel dest, int flags) {
dest.writeString(inventory_id);
dest.writeString(vin);
dest.writeString(stock);
dest.writeString(new_used);
dest.writeString(certified);
dest.writeString(mileage);
}
public Inventory(Parcel source){
inventory_id = source.readString();
vin = source.readString();
stock = source.readString();
new_used = source.readString();
certified = source.readString();
mileage = source.readString();
}
public static final Parcelable.Creator<Inventory> CREATOR = new Parcelable.Creator<Inventory>() {
public Inventory createFromParcel(Parcel source) {
return new Inventory(source);
}
public Inventory[] newArray(int size) {
return new Inventory[size];
}
};
}
そして、これが私がそれを渡す行です
Intent intent = new Intent(this, Activity2.class);
intent.putParcelableArrayListExtra("invList", invList); //This is a list of inventory objects.
startActivity(intent);
このコードは Activity2 をロードしません。アクティビティ 2 の onCreate メソッドでデバッグ ポイントを作成できますが、呼び出されることはありません。コメントアウトすると、intent.putParcelableArrayListExtra("invList", invList); 、Activity2 が読み込まれますが、invList が必要な行に到達するともちろん爆発します。これにより、アクティビティ間の Parcelable オブジェクトで何かが起こっていると思います。LogCat には何も表示されません。Activity1 をリロードするだけです。
ここで何か助けていただければ幸いです。