首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在Android Java中将字符串的ArrayList放入/读取到Parcelable中?

在Android Java中,要将字符串的ArrayList放入Parcelable中,需要进行以下步骤:

  1. 首先,创建一个自定义的Parcelable对象,可以命名为MyParcelable。这个对象将用于存储字符串的ArrayList。
代码语言:txt
复制
public class MyParcelable implements Parcelable {
    private ArrayList<String> stringList;

    public MyParcelable(ArrayList<String> stringList) {
        this.stringList = stringList;
    }

    protected MyParcelable(Parcel in) {
        stringList = in.createStringArrayList();
    }

    public ArrayList<String> getStringList() {
        return stringList;
    }

    public void setStringList(ArrayList<String> stringList) {
        this.stringList = stringList;
    }

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

    @Override
    public void writeToParcel(Parcel dest, int flags) {
        dest.writeStringList(stringList);
    }

    public static final Creator<MyParcelable> CREATOR = new Creator<MyParcelable>() {
        @Override
        public MyParcelable createFromParcel(Parcel in) {
            return new MyParcelable(in);
        }

        @Override
        public MyParcelable[] newArray(int size) {
            return new MyParcelable[size];
        }
    };
}
  1. 在需要传递数据的Activity中,将字符串的ArrayList放入MyParcelable对象中,并使用putParcelableArrayListExtra方法将MyParcelable对象放入Intent中,进行传递。
代码语言:txt
复制
ArrayList<String> stringArrayList = new ArrayList<>();
stringArrayList.add("String 1");
stringArrayList.add("String 2");
stringArrayList.add("String 3");

MyParcelable myParcelable = new MyParcelable(stringArrayList);

Intent intent = new Intent(this, AnotherActivity.class);
intent.putParcelableArrayListExtra("myParcelable", myParcelable);
startActivity(intent);
  1. 在接收数据的另一个Activity中,使用getParcelableArrayListExtra方法从Intent中获取MyParcelable对象,并从中获取字符串的ArrayList。
代码语言:txt
复制
Intent intent = getIntent();
MyParcelable myParcelable = intent.getParcelableExtra("myParcelable");
ArrayList<String> stringArrayList = myParcelable.getStringList();

// 对获取到的字符串ArrayList进行操作
for (String str : stringArrayList) {
    Log.d("TAG", str);
}

通过以上步骤,就可以在Android Java中将字符串的ArrayList放入Parcelable中,并在另一个Activity中读取出来进行操作。

请注意,上述代码中并未提及具体的腾讯云产品和链接地址,如需了解相关产品和服务,请参考腾讯云官方文档或咨询腾讯云官方支持。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • Android开发笔记(三十一)SQLite游标及其数据结构

    ContentValues类似于映射,也是用于存储键值对。区别之处在于ContentValues的键只能是字符串,查看ContentValues的源码,会发现其内部保存键值对的数据结构就是HashMap,“private HashMap<String, Object> mValues;”。另外,ContentValues实现了Parcelable接口,也是为了提高手机上的处理效率。 这里提到ContentValues,还是因为Android源码在操作SQLite时只认这个数据结构,而不认别的java容器类,所以我们得额外对它加以了解了。幸好ContentValues的用法很简单,主要就是保存操作put,以及读取操作get。put和get方法都支持常用的基本数据类型,如整型、浮点数、字符串、布尔类型、字节等等。 SQLite在插入、更新、查询操作中需要用到ContentValues数据,下面是插入和更新的代码例子:

    04
    领券