发送多个变量值到另一个活动
问题描述:
因此,这是我用来将字符串变量的值传递给另一个活动的代码。发送多个变量值到另一个活动
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还很新。
答
只要把两个字符串放在同一个意图。
Intent intent = new Intent(Search.this, Results.class);
intent.putExtra("Link", sendLink);
intent.putExtra("Search", addressInput);
startActivity(intent);
答
您可以添加多个不止一次呼吁putExtra为同一目的:
Intent requestLink = new Intent(Search.this, Results.class);
requestLink.putExtra("Link", sendLink);
requestLink .putExtra("Search", addressInput);
startActivity(requestLink);
答
您可以使用捆绑你的活动之间发送数据。 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);
检查包的API文档here
答
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);
}
答
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,......根据不同的需要。