[Activity] - Salvar dados na transição [Resolvido]

Oi,

Estou fazendo um Software Android (2.1) que contem 4 Activity.

Em cada uma delas eu tenho um botão AVANÇAR e um botão VOLTAR.

Na transição de uma Activity para a outra eu sou obrigada a usar o método finish() e até então os campos e valores criados desta janela se perdem:

[code]new View.OnClickListener()
{
public
void onClick
(
View ao_view
)
{
//
// Fecha a janela atual.
//
finish();

				//
				// Abre a outra janela de coleta.
				//
				startActivity
				(
					new Intent
					(
						ao_view.getContext(), 
						ColetaTwo.class
					)
				);
			}
		}[/code]

A última Activity da aplicação é referente a confirmação dos dados digitados nas Activities anteriores. Como devo proceder ? Sim. Sou nova no lance Android.

Tchauzin!

Oi,

Bom… eu meio que resolvi esse problema, usando o Intent para passar as variáveis como parâmetro.

Na segunda Activity:

Intent lo_intent = new Intent(ao_view.getContext(), TerceiraActivity.class); lo_intent.putExtra("teste", io_txf_teste.getText()); lo_intent.putExtra("teste2", io_spn_teste2.getSelectedItem().toString()); lo_intent.putExtra("teste3", io_spn_teste3.getSelectedItem().toString()); finish(); startActivity(lo_intent);

Na terceira Activity:

[code]
Intent lo_intent_dados = getIntent(); // Recebo os dados da segunda Activity.

Intent lo_intent = new Intent(ao_view.getContext(), QuartaActivity.class); // Crio um novo Intent para a chamada da QuartaActivity.
lo_intent.putExtra(“novoteste”, io_txf_novoteste.getText());
lo_intent.putExtra(“teste”, lo_intent_dados.getStringExtra(“teste”)); // Pegando da segunda Activity.
lo_intent.putExtra(“teste2”, lo_intent_dados.getStringExtra(“teste2”)); // Pegando da segunda Activity.
lo_intent.putExtra(“teste3”, lo_intent_dados.getStringExtra(“teste3”)); // Pegando da segunda Activity.
finish();
startActivity(lo_intent);[/code]

Na quarta, eu alimento os meus componentes dessa forma:

Intent lo_intent_confirmar = getIntent(); setText(lo_intent_confirmar.getStringExtra("teste")); setText(lo_intent_confirmar.getStringExtra("teste2")); setText(lo_intent_confirmar.getStringExtra("teste3")); setText(lo_intent_confirmar.getStringExtra("novoteste"));

Eu só não entendi porque não apresentou nada ao chamar o teste e o novoteste. Apenas para o teste2 e teste3 foi apresentado o conteúdo.

Tchauzin!

Lina e sua identação…

Mas então, o código parece correto, o que exatamente nao esta funcionando?

E outra, voce pode dar finish na activity depois de dar startActivity.

Oi,

Descobri!

Precisei adicionar o .toString() também no EditText:

Intent lo_intent = new Intent(ao_view.getContext(), TerceiraActivity.class); lo_intent.putExtra("teste", io_txf_teste.getText().toString()); // AQUI! lo_intent.putExtra("teste2", io_spn_teste2.getSelectedItem().toString()); lo_intent.putExtra("teste3", io_spn_teste3.getSelectedItem().toString()); finish(); startActivity(lo_intent);

Vai entender!

Tchauzin!

Ahhh…

EditText#getText() retorna um Editable

O valor em string pode ser obtido com toString mesmo.