发送多个变量值到另一个活动

问题描述:

因此,这是我用来将字符串变量的值传递给另一个活动的代码。发送多个变量值到另一个活动

  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,......根据不同的需要。