0

Je veux changer l'image de l'activité précédente si j'ai changé l'image de la deuxième activité et quand je reviens à l'activité précédente l'image devrait être changé.Comment passer l'image de l'activité B à l'activité précédente A sur Retour pressée par la préférence partagée android

https://i.stack.imgur.com/7bTnj.png

+0

est votre image enregistrée dans la carte SD ou quelque chose? –

+0

J'ai pris l'image de la galerie et enregistré dans la même activité, mais je veux passer cette image dans l'activité précédente – Pooja

+2

Je ne voudrais pas utiliser SharedPreference, sauf si c'est un paramètre permanent que vous voulez durer entre les exécutions. Quoi qu'il en soit, la réponse est d'utiliser startActivityForResult et de changer l'image dans onActivityResult –

Répondre

1

Essayez de personnaliser le code suivant dans votre code. Et ça va marcher.

Voici la première activité dans laquelle vous souhaitez effectuer le suivi si l'image est modifiée et que vous souhaitez charger l'image modifiée.

public class A extends AppCompatActivity { 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_a); 
     //YOUR OTHER CODE HERE.. 

     startActivityForResult(new Intent(A.this, B.class), 111); 
    } 

    @Override 
    protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
     if (requestCode == 111 && resultCode == RESULT_OK) { 
      if (data.getExtras() != null) { 
       //set your image path which has been returned by previous activity to your imageview here 
       //data.getExtras().getString("image_path") 
      } 
     } 
     super.onActivityResult(requestCode, resultCode, data); 
    } 
} 

Voici votre prochaine activité où vous changez l'image

public class B extends AppCompatActivity { 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_b); 
     //YOUR OTHER CODE HERE.. 
    } 

    @Override 
    public void onBackPressed() { 
     Intent intent = new Intent(); 
     intent.putExtra("image_path", "CHANGED_IMAGE_PATH"); 
     setResult(RESULT_OK, intent); 
     super.onBackPressed(); 
    } 
} 
+0

comment définir l'imageview avec le chemin de l'image? – Pooja

+0

Vous pouvez utiliser une bibliothèque tierce pour cela. Pour plus de référence, consultez ce https://stackoverflow.com/questions/38213832/load-image-in-android-studio –