Dev*_*ath 28 android android-intent
我试图在活动之间传递数据
我使用Intent在常规活动之间传递数据
考虑下面的代码::
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);
}
}
Run Code Online (Sandbox Code Playgroud)
假设我从所谓的一些其它活动将数据发送Activity-1到AndroidTabRestaurantDescSearchListView作为意图
现在我怎样才能收到AndroidTabRestaurantDescSearchListView我从中得到的数据Activity-1,然后再将其传递给RatingDescriptionSearchActivity
Pictoral表示是 ::

{EDIT} - 如果这可以基于答案--- Ambiguity,因为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);
Run Code Online (Sandbox Code Playgroud)
GrI*_*sHu 62
将数据传递Activity-1给AndroidTabRes..如下:
在发送活动时......
Intent intent = new Intent(current.this, AndroidTabRestaurantDescSearchListView.class);
intent.putExtra("keyName","value");
startActivity(intent);
Run Code Online (Sandbox Code Playgroud)
在AndroidTabRes..活动...
String data = getIntent().getExtras().getString("keyName");
Run Code Online (Sandbox Code Playgroud)
因此,您可以通过发送活动获得接收活动的数据...
在你的AndroidTabRestaurantDescSearchListView班上,这样做:
String value= getIntent().getStringExtra("keyName");
Intent intent = new Intent(this, RatingDescriptionSearchActivity.class);
intent.putExtra("keyName", value);
startActivity(intent);
Run Code Online (Sandbox Code Playgroud)
然后在你的RatingDescriptionSearchActivity课堂上,这样做:
String data= getIntent().getStringExtra("keyName");
Run Code Online (Sandbox Code Playgroud)
从您的AndroidTabRestaurantDescSearchListView活动中 试试这个
Intent intent = new Intent(this,RatingDescriptionSearchActivity.class );
intent.putExtras( getIntent().getExtras() );
startActivity( intent );
Run Code Online (Sandbox Code Playgroud)
然后从RatingDescriptionSearchActivity活动中调用
getIntent().getStringExtra("key")
Run Code Online (Sandbox Code Playgroud)
您可以使用Bundle来获取数据:
Bundle extras = intent.getExtras();
String data = extras.getString("data"); // use your key
Run Code Online (Sandbox Code Playgroud)
您可以再次将此数据用于下一个活动:
Intent intent = new Intent(this, next_Activity.class);
intent.putExtra("data", data);
startActivity(intent);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
112475 次 |
| 最近记录: |