安卓開發學習-Intent攜帶資料

江城qwe發表於2024-03-09

傳送資料頁面

點選檢視程式碼
package com.android.messaging;

import android.annotation.SuppressLint;
import android.content.Intent;
import android.os.Bundle;
import android.widget.Button;
import android.widget.TextView;

import androidx.appcompat.app.AppCompatActivity;

public class SendActivity extends AppCompatActivity {

    @SuppressLint("MissingInflatedId")
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        // 設定該活動的佈局
        setContentView(R.layout.activity_send);

        // 透過 ID 找到佈局中的 TextView 和 Button
        TextView textView = findViewById(R.id.tv_data);
        Button sendBtn = findViewById(R.id.btn_send);

        // 設定按鈕的點選事件監聽器
        sendBtn.setOnClickListener(e -> {
            // 建立一個 Bundle 物件用於傳遞資料
            Bundle bundle = new Bundle();

            // 從 TextView 中提取資料,並將其放入 Bundle 中
            bundle.putString("data", textView.getText().toString().split(":")[1]);

            // 建立一個 Intent 物件,指定從當前活動跳轉到 receiveActivity 活動
            Intent intent = new Intent(this, receiveActivity.class);

            // 將 Bundle 物件放入 Intent 中
            intent.putExtras(bundle);

            // 啟動新的活動
            startActivity(intent);
        });
    }
}

接收資料頁面

點選檢視程式碼
package com.android.messaging;

import androidx.appcompat.app.AppCompatActivity;

import android.annotation.SuppressLint;
import android.os.Bundle;
import android.widget.TextView;

public class receiveActivity extends AppCompatActivity {

    @SuppressLint("MissingInflatedId")
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        // 設定該活動的佈局
        setContentView(R.layout.activity_receive);

        // 獲取從前一個活動傳遞過來的資料
        Bundle bundle = getIntent().getExtras();

        // 透過ID找到佈局中的 TextView
        TextView textView = findViewById(R.id.tv_receive);

        // 檢查 Bundle 中是否有資料
        if (bundle != null) {
            // 將 TextView 的文字設定為接收到的資料
            textView.setText(bundle.getString("data"));
        }
    }
}

相關文章