Si desea pasar los datos de la actividad preferencia al uso, la principal actividad de este código:
En su principal clase de actividad (el lanzamiento):
startActivityForResult(new Intent(main.this, preferences.class), 0);
En su clase de actividad preferencia (establecer el resultado):
Intent i;
i.putStringExtra("name", "tom");
setResult(RESULT_OK, i);
finish();
En su clase de actividad principal (obtener el resultado):
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == 0) {
if (resultCode == RESULT_OK){
Log.d("test", data.getExtraString("name");
}
}
}
Se puede retener la mayor cantidad de extras que quiera y no sólo cadenas, pero todos los tipos de datos estándar.
esperanza que hice todo bien;)
EDITAR
Como Kaarel me dijo, probablemente Missunderstood la cuestión. Esta es la forma en que puede recibir datos desde el activiy principal en la actividad preferencias:
en su actividad principal: poner en marcha la actividad preferencias y adjuntar los datos
String foo = "hello";
Intent i = new Intent();
i.putExtra("testString", foo);//You can also add other types of variables here, see [1] for reference
i.setClass(main.this, preferences.class);
startActivity(i);
En su actividad preferencias: Recieve los datos adjuntos a la intención
Bundle b = this.getIntent().getExtras();//[2]
if (b!=null){
String recievedString = b.getString("testString");
//The recievedString variable contains the String "hello" now, see [3]
}
[1] https://developer.android.com/reference/android/content/Intent.html
[2] https://developer.android.com/reference/android/content/Intent.html#getExtras%28%29
[3] https://developer.android.com/reference/android/os/Bundle.html
Posible duplicado: http://stackoverflow.com/q/3385075/291827 –