我试图在活动之间传递数据
我使用意图在常规活动之间传递数据
请看下面的代码
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);
}
}
假设我将另一个名为 Activity-1
的活动的数据作为意图发送到 AndroidTabRestaurantDescSearchListView
中
现在,我怎样才能在 AndroidTabRestaurantDescSearchListView
中接收我从Activity-1
获得的数据,然后再将其传递到RatingDescriptionSearchActivity
中?
图片表示为 ::
[在此输入图片描述][1]
{EDIT}--如果根据答案可以这样做的话----由于 AndroidTabRestaurantDescSearchListView 是一个标签活动,所以存在歧义
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);
如下所示,将数据从 Activity-1
传递到 `AndroidTabRes...':
在发送活动...
Intent intent = new Intent(current.this, AndroidTabRestaurantDescSearchListView.class);
intent.putExtra("keyName","value");
startActivity(intent);
在 AndroidTabRes...
活动中...
String data = getIntent().getExtras().getString("keyName");
因此,您可以从发送活动中获取接收活动的数据...
在你的 AndroidTabRestaurantDescSearchListView
类中,这样做:
String value= getIntent().getStringExtra("keyName");
Intent intent = new Intent(this, RatingDescriptionSearchActivity.class);
intent.putExtra("keyName", value);
startActivity(intent);
然后在您的 RatingDescriptionSearchActivity
类中执行以下操作:
String data= getIntent().getStringExtra("keyName");
请尝试从您的 AndroidTabRestaurantDescSearchListView
活动中执行以下操作
Intent intent = new Intent(this,RatingDescriptionSearchActivity.class );
intent.putExtras( getIntent().getExtras() );
startActivity( intent );
然后从 RatingDescriptionSearchActivity
活动中调用
getIntent().getStringExtra("key")
简单。
假设在你的 "活动-1 "中,你这样做了:
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);
并在 AndroidTabRestaurantDescSearchListView 类中执行以下操作:
//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);
然后在您的 RatingDescriptionSearchActivity 类中执行以下操作:
String extraFromAct1 = getIntent().getStringExtra("string");