TabActivity に tabHost があり、3 つのタブが含まれており、これらのタブのそれぞれに独自のクラスがあります。携帯電話の向きを変更したり、現在のタブを別のタブに移動すると、前のタブのすべてのデータ (ImageView、editTexts のテキスト) が失われました。
更新しました:
onSavedInstanceState メソッドを試しましたが、何も変わりませんでした:
protected void onCreate(Bundle savedInstanceState)
{
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.vendre);
imageView = (ImageView) findViewById(R.id.SelectedImage);
if(savedInstanceState!=null)
{
imageView.setImageBitmap((Bitmap) savedInstanceState.getParcelable("image"));
((EditText)findViewById(R.id.VendreName)).setText(savedInstanceState.getString("nomProduit"));
((EditText)findViewById(R.id.VendreDescription)).setText(savedInstanceState.getString("description"));
((EditText)findViewById(R.id.VendrePrix)).setText(savedInstanceState.getString("prix"));
}
}
@Override
protected void onSaveInstanceState(Bundle outState)
{
super.onSaveInstanceState(outState);
outState.putString("nomProduit", ((TextView)findViewById(R.id.VendreName)).getText().toString());
outState.putString("description", ((TextView)findViewById(R.id.VendreDescription)).getText().toString());
outState.putString("prix", ((TextView)findViewById(R.id.VendrePrix)).getText().toString());
Bitmap b= ((BitmapDrawable)imageView.getDrawable()).getBitmap();
outState.putParcelable("image",b);
}
このメソッドは呼び出されないようです。