縦画面切り替え保存データ
縦画面切り替え時にActivityがDestroyされ、再作成されるため、必要なデータが再ロードされます.これを解決するには、onRestoreNonConfigrationInstance()メソッドに必要なオブジェクトを保持し、縦画面切り替え時にこのメソッドが呼び出され、Activityが再作成されるまでgetLastNonConfigrationInstance()メソッドでObjectが取得されます.
- public class Android_testActivity extends Activity {
- /** Called when the activity is first created. */
- TextView textView;
- Drawable drawable;
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.main);
- textView = (TextView)findViewById(R.id.text);
- drawable = (Drawable)getLastNonConfigurationInstance();
- if (drawable == null) {
- drawable = getResources().getDrawable(R.drawable.icon);
- Log.e("Android_test", "drawable is null");
- }
- textView.setBackgroundDrawable(drawable);
- }
- @Override
- public Object onRetainNonConfigurationInstance() {
- // TODO Auto-generated method stub
- return drawable;
- }
-
-
-
- public void onDestroy(){
- super.onDestroy();
- Log.e("Android_test", "Destroy");
- }
- }