Estoy intentando pasar los datos entre Actividades
Utilizo intents para pasar datos entre actividades regulares
considere el siguiente código::
AndroidTabRestaurantDescSearchListView.java
public class AndroidTabRestaurantDescSearchListView extends TabActivity {
// TabSpec Names
private static final String INBOX_SPEC = "Rating";
private static final String OUTBOX_SPEC = "Price";
Button Photos;
Button Filter;
Button Search;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
TabHost tabHost = getTabHost();
// Inbox Tab
TabSpec inboxSpec = tabHost.newTabSpec(INBOX_SPEC);
Intent inboxIntent = new Intent(this, RatingDescriptionSearchActivity.class);
inboxSpec.setIndicator(INBOX_SPEC);
// Tab Content
inboxSpec.setContent(inboxIntent);
// Outbox Tab
TabSpec PriceSpec = tabHost.newTabSpec(OUTBOX_SPEC);
Intent PriceIntent = new Intent(this, PriceDescriptionSearchActivity.class);
PriceSpec .setIndicator(OUTBOX_SPEC);
PriceSpec.setContent(PriceIntent);
// Adding all TabSpec to TabHost
tabHost.addTab(inboxSpec);
tabHost.addTab(PriceSpec);
//Set the current value tab to default first tab
tabHost.setCurrentTab(0);
}
}
Supongamos que envío datos desde otra actividad llamada Activity-1
a AndroidTabRestaurantDescSearchListView
como intents
Ahora, ¿cómo puedo recibir los datos en AndroidTabRestaurantDescSearchListView
que recibí de Activity-1
y luego de nuevo pasarlo a RatingDescriptionSearchActivity
?
La representación pictórica es ::
introduzca la descripción de la imagen aquí
{EDIT} -- Si esto es posible basado en las respuestas --- Ambigüedad porque AndroidTabRestaurantDescSearchListView es una actividad de pestaña
TabSpec inboxSpec = tabHost.newTabSpec(INBOX_SPEC);
Intent inboxIntent = new Intent(this, RatingDescriptionActivity.class);
intent.putExtra("keyName", value);
inboxSpec.setIndicator(INBOX_SPEC);
// Tab Content
inboxSpec.setContent(inboxIntent);
Pasa los datos de Activity-1
a AndroidTabRes..
como se indica a continuación:
Al enviar la actividad...
Intent intent = new Intent(current.this, AndroidTabRestaurantDescSearchListView.class);
intent.putExtra("keyName","value");
startActivity(intent);
En la actividad AndroidTabRes..
...
String data = getIntent().getExtras().getString("keyName");
Así que usted puede tener datos en la actividad de recepción de la actividad de envío ...
Y en su AndroidTabRestaurantDescSearchListView
clase, hacer esto:
String value= getIntent().getStringExtra("keyName");
Intent intent = new Intent(this, RatingDescriptionSearchActivity.class);
intent.putExtra("keyName", value);
startActivity(intent);
A continuación, en su RatingDescriptionSearchActivity
clase, haga esto:
String data= getIntent().getStringExtra("keyName");
Pruebe esto desde su actividad AndroidTabRestaurantDescSearchListView
.
Intent intent = new Intent(this,RatingDescriptionSearchActivity.class );
intent.putExtras( getIntent().getExtras() );
startActivity( intent );
Y luego desde la actividad RatingDescriptionSearchActivity
simplemente llama a
getIntent().getStringExtra("key")
Simple.
Suponiendo que en tu Actividad-1
, hiciste esto:
String stringExtra = "Some string you want to pass";
Intent intent = new Intent(this, AndroidTabRestaurantDescSearchListView.class);
//include the string in your intent
intent.putExtra("string", stringExtra);
startActivity(intent);
Y en tu clase AndroidTabRestaurantDescSearchListView, haz esto:
//fetch the string from the intent
String extraFromAct1 = getIntent().getStringExtra("string");
Intent intent = new Intent(this, RatingDescriptionSearchActivity.class);
//attach same string and send it with the intent
intent.putExtra("string", extraFromAct1);
startActivity(intent);
A continuación, en su clase RatingDescriptionSearchActivity, haga esto:
String extraFromAct1 = getIntent().getStringExtra("string");