android 18 Bundle类

本文介绍如何在两个Android Activity之间使用Bundle来传递数据。通过实例展示了从登录界面(LoginActivity)到主界面(MainActivity)的数据传递过程,包括用户ID和密码的获取与设置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Bundle类:竖屏的activity换到横屏的activity的时候,会把竖屏的activity杀掉横屏的activity创建,竖屏的activity会有一些计算结果,可以用数据存起来,存到内存里面,然后存在横屏的activity。
Intent类putExtra("user", user);传数据的时候用的就是Bundle对象, private Bundle mExtras;
Bundle是一个map,

第一个activity:

package com.sxt.day04_01;

import com.sxt.day04_01.entity.User;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.text.TextUtils;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.EditText;

public class LoginActivity extends Activity {

    EditText metId,metPwd;
    
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_login);
        initView();
        setListener();
    }

    private void setListener() {
        setExitClickListener();//设置退出按钮的监听器
        setLoginClickListener();//设置登陆按钮的监听器
    }

    //设置登陆按钮的监听器
    private void setLoginClickListener() {
        findViewById(R.id.btnLogin).setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                String id=metId.getText().toString();
                if(TextUtils.isEmpty(id)){
                    metId.setError("编号不能为空");
                    return ;
                }
                String pwd=metPwd.getText().toString();
                if(TextUtils.isEmpty(pwd)){
                    metPwd.setError("密码不能为空");
                    return ;
                }
                Intent intent=new Intent(LoginActivity.this, MainActivity.class);
                Bundle data=new Bundle();
                data.putString("id", id);
                data.putString("password", pwd);
                intent.putExtras(data);
                startActivity(intent);
            }
        });
    }

    //设置退出按钮的监听器
    private void setExitClickListener() {
        findViewById(R.id.btnExit).setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                finish();
            }
        });
    }

    private void initView() {
        metId=(EditText) findViewById(R.id.etId);
        metPwd=(EditText) findViewById(R.id.etPwd);
    }

}



第二个activity:

package com.sxt.day04_01;


import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;


public class MainActivity extends Activity {


@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Intent intent=getIntent();
// String id=intent.getStringExtra("id");
// String pwd=intent.getStringExtra("password");
Bundle data = intent.getExtras();
String id=data.getString("id");
String pwd=data.getString("password");
Log.i("main","id="+id+",password:"+pwd);
}


}

 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值