Criei duas telas A e B , quando estou na tela B e clico para voltar o estado da Tela A não volta ao estado que atual (com os items selecionados), ou seja o estado onde foram alterado os dados e passado para tela B.
Como faço para mandar o estado dessa tela ?
Você precisa adicionar uma persistência de dados nas activitys que deseja
Uma ideia é mandar os itens selecionados na Activity A pra uma classe filha de Application
e recuperar esses itens quando a Activity A for reaberta:
public class MinhaApplication extends Application {
private List<Item> itens = new ArrayList<Item>();
public void adiciona(Item item) {
this.itens.add(item);
}
public List<Item> getItens() {
return this.itens;
}
}
public class ActivityA extends Activity {
private List<Item> itens;
public void onCreate(...) {
super.onCreate(...);
//selecionei um item...
getMinhaApplication().adiciona(itemSelecionado);
}
public void onResume() {
super.onResume();
this.itens = getMinhaApplication().getItens();
}
private MinhaApplication getMinhaApplication() {
return (MinhaApplication) getApplication();
}
}
No AndroidManifest.xml
:
<application
android:name="meu.pacote.MinhaApplication
<!-- outras propriedades que já estão aqui --/>
...>
<activity... />
</application>