0
beanSourceのオブジェクトをonSavedInstanceに保存し、savedInstanceStateをnullとしてチェックしてonCreateに戻す方法を知りません。Android:データをonSavedInstanceに保存する
これまでのところ、私は値を取得/保存するいずれかのことができ、このコードをしようとしなくてきた: -
public class BookActivity extends Activity{
private ArrayList<Bitmap> bitmaps = null;
private ArrayList<Book> bookData = null; //Book is the bean class
private TextView bookTitle = null;
private ArrayList<Feature> bookIds = null; // Another bean class
@Override
public void onSaveInstanceState(Bundle savedInstanceState) {
savedInstanceState.putSerializable("bookThumb", bookData);
savedInstanceState.putSerializable("bookBitmaps", bitmaps);
savedInstanceState.putSerializable("featureBook", bookIds);
super.onSaveInstanceState(savedInstanceState);
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.penguin_main);
if(savedInstanceState!=null){
bookData = (ArrayList<String>) savedInstanceState.getSerializable("bookThumb");
bookData = (ArrayList<String>) savedInstanceState.getSerializable("bookThumb");
bookData = (ArrayList<String>) savedInstanceState.getSerializable("bookThumb");
}
else{
Toast msg = Toast.makeText(getApplicationContext(), "Values Not Restored!!!", Toast.LENGTH_LONG);
msg.setGravity(Gravity.CENTER, msg.getXOffset()/2, msg.getYOffset()/2);
msg.show();
}
}
}
私はビットマップやブックのオブジェクトを保存するために何をすべきそれで、オリエンテーションの変更についてクラスの新しいインスタンスを作ることはありませんか?あなたはParcelableのArrayListとして
savedInstanceState.putParcelableArrayList("bookThumb", bookData);
savedInstanceState.putParcelableArrayList("bookBitmaps", bitmaps);
savedInstanceState.putParcelableArrayList("featureBook", bookIds);
あなたBook
とFeature
クラスを保存することができ
ありがとう、私はこれを試して、それが私のために働くかどうかをお知らせします。 –
アトラス、カスタムクラスを分割可能にするためにネットを検索しなくてはなりませんが、私は欲しかったものを手に入れました。ありがとう@dymmeh !!! –