Using intents to pass data between activities
I am trying to pass the data between Activities
I use intents to pass data between regular activities
consider the code below::
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);
}
}
Suppose i send data from Someother activity called Activity-1
to AndroidTabRestaurantDescSearchListView
as intents
Now how can i recieve the data in AndroidTabRestaurantDescSearchListView
which i got from Activity-1
and then again pass it into RatingDescriptionSearchActivity
Pictoral representation is ::
{EDIT} -- If this is possible based on answers --- Ambiguity because AndroidTabRestaurantDescSearchListView is a tab activity
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);
Solution 1:
Pass the data from Activity-1
to AndroidTabRes..
as below:
At sending activity...
Intent intent = new Intent(current.this, AndroidTabRestaurantDescSearchListView.class);
intent.putExtra("keyName","value");
startActivity(intent);
At AndroidTabRes..
activity...
String data = getIntent().getExtras().getString("keyName");
Thus you can have data at receiving activity from sending activity...
And in your AndroidTabRestaurantDescSearchListView
class, do this:
String value= getIntent().getStringExtra("keyName");
Intent intent = new Intent(this, RatingDescriptionSearchActivity.class);
intent.putExtra("keyName", value);
startActivity(intent);
Then in your RatingDescriptionSearchActivity
class, do this:
String data= getIntent().getStringExtra("keyName");
Solution 2:
Try this from your AndroidTabRestaurantDescSearchListView
activity
Intent intent = new Intent(this,RatingDescriptionSearchActivity.class );
intent.putExtras( getIntent().getExtras() );
startActivity( intent );
And then from RatingDescriptionSearchActivity
activity just call
getIntent().getStringExtra("key")