メソッド名の対応からしてwriteStringArray()で書いたものをreadStringArray()で読み込むのだろうと思っていたが読むほうはcreateStringArray()になるようである。 以下のような感じになるらしい。
public class MyObj implements Parcelable { private String[] texts; // 読むほう public MyObj(Parcel in) { texts = in.createStringArray(); } // 書くほう @Override public void writeToParcel(Parcel out, int flags) { out.writeStringArray(texts); } ... }
readStringArray()でも読み込めるようだが、書き込んだ長さと同じ配列をあらかじめ準備して引数に指定するらしい。 長さが決まってない配列に使うのは面倒そうだし、nullは扱えなさそうである。 固定長の配列を連続読み込みするような場合には使えそうだが、それ以外はあまり出番が無いのではと思う。
0 件のコメント:
コメントを投稿