当我更改手机的方向或在标签之间导航时,我会丢失所有数据

时间:2013-05-12 15:51:42

标签: android android-tabhost tabactivity

我在TabActivity中有一个tabHost,它包含3个Tabs,每个theese选项卡都有自己的类,我可以使用Intent在不同的Tabs之间导航,一旦我改变手机的方向,或者当我将当前标签更改为另一个标签,我丢失了上一个标签中的所有数据(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);
}

似乎永远不会调用此方法。

1 个答案:

答案 0 :(得分:1)

在AndroidManifest.xml中为您的活动添加android:configChanges =“orientation | screenSize”行。这不是一个好的解决方案。