Bom, para fim de exercício criei uma classe (Exercicio1.class) que envia o nome de um usuario qualquer para uma outra classe (Tela2.class) que deveria retornar o sobrenome, no entanto a variavel sobrenomeConvertido chega ao metodo onClick (da classe tela2.class)vazia.
Exercicio 1
package com.example.livroandroidcap5;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
public class Exercicio1 extends Activity implements OnClickListener {
private static final int CODIGO=1;
@Override
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.exercicio1);
Button button=(Button) findViewById(R.id.botaoNome);
button.setOnClickListener(this);
}
public void onClick(View v){
Intent intent=new Intent(this,Tela2.class);
final EditText nomeResultado=(EditText) findViewById(R.id.campoNome);
String nome=nomeResultado.getText().toString();
intent.putExtra("nomeUsuario",nome);
startActivityForResult(intent,CODIGO);
}
protected void onActivityResult(int codigo,int resultado, Intent intent){
if(intent==null){
Toast.makeText(this,"Nenhuma informão foi informada", Toast.LENGTH_SHORT).show();
return;
}
String nome=intent.getStringExtra("opcao");
Toast.makeText(this,"O sobrenome informado é "+nome, Toast.LENGTH_SHORT).show();
}
}
Tela2
package com.example.livroandroidcap5;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
public class Tela2 extends Activity implements OnClickListener {
private String sobrenomeConvertido;
@Override
public void onCreate(Bundle icicle){
super.onCreate(icicle);
setContentView(R.layout.exercicio1_tela2);
final TextView nomeResultado=(TextView) findViewById(R.id.tela2NomeRecebido);
Intent intent=getIntent();
if(intent!=null){
String nomeRecebido=intent.getStringExtra("nomeUsuario");
if(nomeRecebido!=null){
nomeResultado.setText("Ola "+nomeRecebido+" informe seu sobrenome");
}
}
final EditText sobrenome2=(EditText) findViewById(R.id.sobrenome);
sobrenomeConvertido=sobrenome2.getText().toString();
final Button botao=(Button) findViewById(R.id.tela2BotaoOK);
botao.setOnClickListener(this);
}
public void onClick(View v){
Intent it=new Intent();
if (sobrenomeConvertido!=null){
it.putExtra("opcao",sobrenomeConvertido);
setResult(1,it);
}
finish();
}
}