所以这是我用来将字符串变量的值传递给另一个活动的代码。
Intent requestLink = new Intent(Search.this, Results.class);
requestLink.putExtra("Link", sendLink);
startActivity(requestLink);
但是如果我希望传输多个变量怎么办?
Intent requestLink = new Intent(Search.this, Results.class);
requestLink.putExtra("Link", sendLink);
startActivity(requestLink);
Intent userSearch = new Intent(Search.this, Results.class);
userSearch.putExtra("Search", addressInput);
startActivity(userSearch);
使用代码两次就会像上面那样只会启动两个单独的活动。那么,我该如何同时传输值呢?
我仍然是Android开发和OOP的新手。
答案 0 :(得分:3)
您可以为同一意图添加多次调用putExtra:
Intent requestLink = new Intent(Search.this, Results.class);
requestLink.putExtra("Link", sendLink);
requestLink .putExtra("Search", addressInput);
startActivity(requestLink);
答案 1 :(得分:3)
btnlogin.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Intent intent=new Intent(getBaseContext(),db.class);
String username=uname.getText().toString();
String upaswrd=pass.getText().toString();
// Bundle bundle=new Bundle();
intent.putExtra(name,username);
intent.putExtra(paswrd, upaswrd);
startActivity(intent);
}
});
/** Db.class */
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.db);
Intent intent=getIntent();
String uname=intent.getStringExtra(Gmail.name);
String upass=intent.getStringExtra(Gmail.paswrd);
username=(TextView)findViewById(R.id.u);
username.setText(uname);
pass=(TextView)findViewById(R.id.p);
pass.setText(upass);
}
答案 2 :(得分:2)
将两个字符串放在同一个意图中。
Intent intent = new Intent(Search.this, Results.class);
intent.putExtra("Link", sendLink);
intent.putExtra("Search", addressInput);
startActivity(intent);
答案 3 :(得分:2)
您可以使用Bundle在您的活动之间发送数据。 e.g
Intent requestLink = new Intent(Search.this, Results.class);
Bundle bun = new Bundle();
bun.putString("Link",sendLink);
bun.putString("Search", addressInput);
requestLink.putExtras(bun);
startActivity(requestLink);
检查Bundle api文档here
答案 4 :(得分:0)
Intent requestLink = new Intent(Search.this, Results.class);
requestLink.putExtra("Link1", sendLink1);
requestLink.putExtra("Link2", sendLink2);
startActivity(requestLink);
//Second Activity
Bundle bundle=getIntent().getExtras();
String Link1 =bundle.getString("Link1");
String Link2 =bundle.getString("Link2");
bundle.get ...有很多重载,比如getInt,......取决于需要。