1. 程式人生 > 實用技巧 >activity 之間傳遞引數

activity 之間傳遞引數

參考:http://c.biancheng.net/view/2923.html

mainActivity中 通過intent 傳遞引數

     class MyClickListener implements View.OnClickListener{

        @Override
        public void onClick(View view) {
            //在控制檯輸出一條語句
            Log.e(TAG,"剛剛點選的按鈕時註冊了內部類監聽器物件的按鈕");
            Intent intent = new Intent(MainActivity.this
, secondActivity.class); //利用 Intent 傳遞資料。 intent.putExtra("age",18); intent.putExtra("name","kelly"); intent.putExtra("level",'A'); //利用 Bundle 傳遞資料。 Bundle myBundle = new Bundle(); myBundle.putString("author","mole"); intent.putExtras(myBundle); startActivity(intent); } }

在secondActivity中獲取intent

   
    package com.example.myapplication;

import android.content.Intent;
import android.os.Bundle;
import android.os.PersistableBundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;

import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity; public class secondActivity extends AppCompatActivity { private static final String TAG = "secondActivity"; @Override public void onCreate(@Nullable Bundle savedInstanceState, @Nullable PersistableBundle persistentState) { super.onCreate(savedInstanceState, persistentState); } @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_second); Intent intent = getIntent(); String name = intent.getStringExtra("name"); int age = intent.getIntExtra("age",100); char level = intent.getCharExtra("level",'C'); Log.e(TAG, "onCreate: name:" + name); Log.e(TAG, "onCreate: age:" + age); Log.e(TAG, "onCreate: level:" + level); Log.e(TAG, "onCreate() called with: savedInstanceState = [" + savedInstanceState + "]"); Bundle myBundle = intent.getExtras(); String author = myBundle.getString("author"); Log.e(TAG, "onCreate: author:" + author); Button bt = findViewById(R.id.button_second); bt.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Toast.makeText(secondActivity.this,"button is clicked",Toast.LENGTH_SHORT).show(); Log.e(TAG,"==========匿名內部類======secondActivity===="); Intent intent = new Intent(secondActivity.this, MainActivity.class); startActivity(intent); } }); } }