viernes, 6 de junio de 2014

Como enviar datos de una pantalla a otra en Android

Enviar información de una pantalla a otra en Android es una tarea muy básica, pero esencial. En este ejemplo enviaremos un valor almacenado en una caja de texto, y luego será mostrada en otra pantalla.

Para entender el ejemplo:




Para esto, tenemos nuestra clase principal con el método onCreate y enviaDatos_onclick que estará asociado a nuestro botón.



El código de nuestra clase principal sería:
public class MainActivity extends ActionBarActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        if (savedInstanceState == null) {
            getSupportFragmentManager().beginTransaction()
                    .add(R.id.container, new PlaceholderFragment())
                    .commit();
        }
    }

    public void enviaDatos_onclick(View view){
     Intent intent = new Intent(this, Saludo.class);
     EditText text = (EditText) findViewById(R.id.editText1);
     String string = text.getText().toString();
     
     intent.putExtra("nombre", string);
     startActivity(intent);
    }
}
Luego, en nuestra nueva clase (recordar configurar esta nueva clase en AndroidManifest.xml correctamente)
public class Saludo extends Activity{
 @Override
 public void onCreate(Bundle savedInstanceState){
  super.onCreate(savedInstanceState);
  setContentView(R.layout.saludo);  
  Bundle extras = getIntent().getExtras();     
  String s = extras.getString("nombre");  
     TextView view = (TextView) findViewById(R.id.textView1);
     view.setText(s);
 }
}
Con esto, en nuestra Pantalla B mostramos el texto ingresado en Pantalla A.


No hay comentarios.: