からオブジェクトの配列を復元しようとしていsavedInstanceState
ます。ここでそれぞれを個別に追加しましBundle
た:(リズムはオブジェクトの配列です)
@Override
public void onSaveInstanceState(Bundle outState){
outState.putInt("numParts",rhythm.length);
for(int index = 0;index<rhythm.length;++index){
outState.putSerializable(""+index,rhythm[index].beat);
}
super.onSaveInstanceState(outState);
}
メソッドが呼び出されると、ここでインスタンス状態のオブジェクトを配列onRestoreInstanceState()
に割り当てようとします: (null ではありません)rhythm
@Override
public void onRestoreInstanceState(Bundle savedInstanceState){
rhythm = new Part[savedInstanceState.getInt("numParts")];
for(int index = 0; index<rhythm.length;++index){
Object middleMan =savedInstanceState.getSerializable(""+index);
if(middleMan==null){
System.out.println("It's null...");
}
rhythm[index]=(Part) middleMan;
}
}
毎回ClassCastException
a に解析すると a がスローされます。Part
部分実装しSerializable
ます。解析できないのはなぜですか? カスタムのシリアル化を行う必要がありますか? 助けてください!