質問

ようにしているの配列を書き込みオブジェクトの実施 ParcelableParcel を使用 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 インターフェイスなクラス)はできません延長します。誰でもそのアイデア?

更新: んは基本的に同じ場合の問題を ArrayListParcelables、 Intent:

Intent i = new Intent();
i.putParcelableArrayListExtra("locations", (ArrayList<Location>) locations);

利回り:

の方法putParcelableArrayListExtra(String,ArrayList< ?広Parcelable>の型の意図に対応していないの引数(String,ArrayList< Location>)

これは Location たクラスの仕事を行っていた以上のロッドやルアーを使用することに Arrivalsがないと思います。

役に立ちましたか?

解決 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.コメントの代わりに私のコメントを行っています。-

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top