1. 程式人生 > 程式設計 >Android中點選按鈕啟動另一個Activity及Activity之間傳值問題

Android中點選按鈕啟動另一個Activity及Activity之間傳值問題

場景

點選第一個Activity中的按鈕,啟動第二個Activity,關閉第二個Activity,返回到第一個Activity。

在第一個Activity中給第二個Activity傳遞值,第二個Activity中獲取並顯示。

開啟第二個Activity

Activity傳值

實現

啟動另一個Activity

在第一個Activity中的按鈕的點選事件中

Button secondActivityButton = (Button)findViewById(R.id.secondActivity);
  secondActivityButton.setOnClickListener(new View.OnClickListener() {
   @Override
   public void onClick(View v) {
    //第一個引數是當前Activity 第二個引數是要啟動的Activity
    Intent intent = new Intent(MainActivity.this,SecondActivity.class);
    startActivity(intent);
   }
  });

然後在第二個Activity中的關閉按鈕的點選事件中

 Button closeButton = (Button) findViewById(R.id.closeButton);
   closeButton.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
     finish();
    }
   });

啟動Activity並傳值

在第一個Activity的按鈕點選事件中

 Button paramActivityButton = (Button)findViewById(R.id.paramActivity);
  paramActivityButton.setOnClickListener(new View.OnClickListener() {
   @Override
   public void onClick(View v) {
    Intent intent = new Intent(MainActivity.this,SecondActivity.class);
    //可傳遞多個鍵值對形式的資料
    intent.putExtra("key","霸道流氓氣質");
    intent.putExtra("key1","霸道的程式猿");
    startActivity(intent);
   }
  });

在第二個Activity中按鈕的點選事件中

 Button valueButton = (Button) findViewById(R.id.valueButton);
  valueButton.setOnClickListener(new View.OnClickListener() {
   @Override
   public void onClick(View v) {
    String valueString = (String)getIntent().getExtras().get("key");
    String valueString1 = (String)getIntent().getExtras().get("key1");
    Toast.makeText(SecondActivity.this,"獲取到的第一個引數為:"+valueString+"第二個引數為:"+valueString1,Toast.LENGTH_LONG).show();
   }
  });

總結

以上所述是小編給大家介紹的Android中點選按鈕啟動另一個Activity及Activity之間傳值問題,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回覆大家的。在此也非常感謝大家對我們網站的支援!
如果你覺得本文對你有幫助,歡迎轉載,煩請註明出處,謝謝!