書面に配列したParcelablesをParcel Android
-
19-09-2019 - |
質問
ようにしているの配列を書き込みオブジェクトの実施 Parcelable 入 Parcel を使用 writeParcelableArray.
のようにしていく定義されていて:
public class Arrival implements Parcelable {
/* All the right stuff in here... this class compiles and acts fine. */
}
という書としての"包"と:
@Override
public void writeToParcel(Parcel dest, int flags) {
Arrival[] a;
/* some stuff to populate "a" */
dest.writeParcelableArray(a, 0);
}
時Eclipseというこのコンパイルを取得します。エラー:
行きのミスマッチ:汎用方法 writeParcelableArray(T[],int)のタイプ パーセルの適用はありませんの 引数(到着[],int).の 推定されるタイプの到着が変わってきているんですけど 代替の限定パラメータ < T extends Parcelable>
まったくわからないこのエラーメッセージを表示します。 Parcelable
インターフェイスなクラス)はできません延長します。誰でもそのアイデア?
更新: んは基本的に同じ場合の問題を ArrayList
の Parcelable
s、 Intent
:
Intent i = new Intent();
i.putParcelableArrayListExtra("locations", (ArrayList<Location>) locations);
利回り:
の方法putParcelableArrayListExtra(String,ArrayList< ?広Parcelable>の型の意図に対応していないの引数(String,ArrayList< Location>)
これは Location
たクラスの仕事を行っていた以上のロッドやルアーを使用することに Arrival
sがないと思います。
解決 2
もっていただきたくて構築の配列Parcelables.使用例からの質問:
@Override
public void writeToParcel(Parcel dest, int flags) {
Parcelable[] a;
/*
some stuff to populate "a" with Arrival
objects (which implements Parcelable)
*/
dest.writeParcelableArray(a, 0);
}
他のヒント
実際には、ウンターまでお問合わせくださいインターフェースでのように見えますように設計してあります。ジェネリックパラメータwriteParcelableArrayたしていることをご確認いただ用の拡張インターフェイス(ませんのプレスリリース).して新しいアカウントを作成インターフェースMyParcelable extends Parcelable.その宣言に配列インタフェースを用いて、そのimplはご到着延MyParcelable.
ピックアップしました。問題も解決したその他のさんの投稿はこちら:私の場合、Eclipseを自動的に輸入間違ったパッケージでの授業名abiguity(dom.コメントの代わりに私のコメントを行っています。-