-2

重複の可能性:
ArrayList と parcelable Activity の受け渡しに関するヘルプ

私はすでに使用しようとしましputExtra()たが、役に立ちませんでした。

を使用するputExtra()と、構文エラーが発生しました。唯一の方法は(そう思われます)、選択したデータ全体を文字列に変換することです。しかし問題は、データのすべてではなく一部だけを表示する必要があることです。したがって、私はそれが方法ではないと思います。

私がやろうとしているのはArrayList、データの送信です。最初のアクティビティは、プログラムがデータの配列を検索する場所であり、2 番目のアクティビティはデータの一部を表示するためのものです。

onClick()のデータを送信する必要がありますListView。そして、データが にある必要がありますArrayList<Item>

誰かがこの質問に答えたりコメントしたりする前に、私の評判を見てください. それだけの評判で、私が新しいことを知っていると思います。反対票を投じる前に、それを考慮してください。

4

1 に答える 1

1

を実装する次のようなクラスがあるとしますParcelable

public class CustomParcelableClass implements Parcelable {
    public String string;
    public int i;

    @Override
    public int describeContents() {
        return hashCode();
    }

    @Override
    public void writeToParcel(Parcel dest, int flags) {
        dest.writeInt(i);
        dest.writeString(string);
    }

            private Item(Parcel in) {
             string= in.readString();
            }
}

そして、あなたは次のIntentようにします:

ArrayList<CustomParcelableClass> myParcelableList = 
          new ArrayList<CustomParcelableClass>();
myParcelableList.add(...);
...
yourIntent.putParcelableArrayListExtra(LIST, myParcelableList);

どこLISTに次のようなものがあります:

public static final String LIST = "LIST";

2番目のクラスでは、のようなメソッドで、次のような行を介してonNewIntent(Intent i)取得しますArrayList

ArrayList<CustomParcelableClass> myParcelableList = 
        i.getExtras().getParcelableArrayList(LIST);

なぜこれがうまくいかないのかわかりません。

于 2012-12-31T09:27:34.510 に答える