ImageView not retaining Image when Screen rotation occurs

后端 未结 5 1285
清酒与你
清酒与你 2021-01-04 18:01
import android.app.Activity;
import android.content.Intent;
import android.graphics.Bitmap;
import android.os.Bundle;
import android.os.Parcelable;
import android.ut         


        
5条回答
  •  误落风尘
    2021-01-04 18:28

    getLastNonConfigurationInstance() returns an activity instance. You can fetch the previous value from that instance:

    in your onCreate():

    YourActivity prevActivity = (YourActivity) getLastNonConfigurationInstance();
    
    if(prevActivity!= null) { 
          this.bTemp = prevActivity.bTemp;
       }
    

    and your onRetainNonConfigurationInstance() method should be:

    @Override
    @Deprecated
    public Object onRetainNonConfigurationInstance() {
        return bTemp;
    }
    

    and your 'onActivityResult()` method should be:

    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        bTemp = (Bitmap) data.getExtras().get("data");
        iv.setImageBitmap(bTemp);
    }
    

提交回复
热议问题