-2

可能重复:
帮助传递 ArrayList 和 parcelable Activity

我已经尝试使用putExtra()但无济于事。

当我使用putExtra()时,出现语法错误。唯一的方法(似乎)是将所选的整个数据转换为字符串。但问题是,我只需要显示部分数据而不是全部。因此我认为这不是办法。

我想做的是发送一个ArrayList数据。第一个活动是程序在数组中搜索数据的地方,第二个活动是显示部分数据的地方。

我需要发送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";

并在您的第二堂课中,以类似的方法,通过类似的行onNewIntent(Intent i)检索您的ArrayList

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

我不知道为什么这不适合你。

于 2012-12-31T09:27:34.510 回答