[英]How do you pass elements from an arraylist index using Parcelable?
[英]How do you put/read an ArrayList of Strings into Parcelable in Android Java?
我使用 Android Studio 並嘗試創建一個可打包的 class,其中包含四個字段:表示 Object 名稱的字符串,表示人名的字符串 arraylist,表示對象的字符串 arraylist,表示對象的字符串 88178588976地方(這實際上是一個 cluedo 游戲配置,如果讀者對此感興趣的話)。 我在將 arraylists 添加到 Parcel 時遇到了問題。
目前我使用Parcel.readArrayList(String.class.getClassLoader());
得到一個 ArrayList 和Parcel.writeStringList(ArrayList<String>);
放一個 ArrayList。然而,Android Studio 給了我一個警告Unchecked assignment: 'java.util.ArrayList to java.util.ArrayList<java.lang.String>'
請告訴我我做錯了什么以及如何正確地做。
package com.example.cluedoservice;
import android.os.Parcel;
import android.os.Parcelable;
import java.util.ArrayList;
import java.util.Arrays;
public class configInfo implements Parcelable {
protected String name = "default";
protected ArrayList<String> people, things, places;
protected configInfo(String name, ArrayList<String> people,
ArrayList<String> things, ArrayList<String> places) {
this.name = name;
this.people = people;
this.things = things;
this.places = places;
}
protected configInfo(Parcel in) {
name = in.readString();
people = in.readArrayList(String.class.getClassLoader());
things = in.readArrayList(String.class.getClassLoader());
places = in.readArrayList(String.class.getClassLoader());
}
@Override
public void writeToParcel(Parcel out, int i) {
out.writeString(name);
out.writeStringList(people);
out.writeStringList(things);
out.writeStringList(places);
}
public static final Creator<configInfo> CREATOR = new Creator<configInfo>() {
@Override
public configInfo createFromParcel(Parcel in) {
return new configInfo(in);
}
@Override
public configInfo[] newArray(int size) {
return new configInfo[size];
}
};
@Override
public int describeContents() {
return 0;
}
}
看一下這個
people = in.createStringArrayList();
things = in.createStringArrayList();
places = in.createStringArrayList();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.