2012-02-21 58 views
3

因此,這是我用來將字符串變量的值傳遞給另一個活動的代碼。發送多個變量值到另一個活動

  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還很新。

回答

2

只要把兩個字符串放在同一個意圖。

Intent intent = new Intent(Search.this, Results.class); 
intent.putExtra("Link", sendLink); 
intent.putExtra("Search", addressInput); 

startActivity(intent); 
3

您可以添加多個不止一次呼籲putExtra爲同一目的:

Intent requestLink = new Intent(Search.this, Results.class); 
    requestLink.putExtra("Link", sendLink); 
    requestLink .putExtra("Search", addressInput); 
    startActivity(requestLink); 
2

您可以使用捆綁你的活動之間發送數據。 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

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); 

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

相關問題