zoukankan      html  css  js  c++  java
  • android 15 activity跳转

    从一个屏幕跳到另一个屏幕,一个activity跳转到另一个activity,Intent类用于组件之间传递数据和跳转,组件包括不仅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);
                    //降低了2个Activity的耦合度(紧密程度),java中2个类之间的关系要少,修改一个类则另一个类影响很少,
                    intent.putExtra("id", id);//健必须是string,值可以是任意类型
                    intent.putExtra("password", pwd);
                    User user=new User(Integer.parseInt(id), pwd);
                    intent.putExtra("user", user);//user要实现Serializable接口
                    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);//new出了对象
            metPwd=(EditText) findViewById(R.id.etPwd);
        }
    
    }
    package com.sxt.day04_01;
    
    import com.sxt.day04_01.entity.User;
    
    import android.os.Bundle;
    import android.app.Activity;
    import android.content.Intent;
    import android.util.Log;
    import android.view.Menu;
    
    public class MainActivity extends Activity {
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            Intent intent=getIntent();//获取上一个activity传递的intent
            String id=intent.getStringExtra("id");//获取string类型的数据,getIntExtra获取int类型数据
            String pwd=intent.getStringExtra("password");
            User user=(User) intent.getSerializableExtra("user");
            Log.i("main","id="+id+",password:"+pwd);
            Log.i("main",user.toString());
        }
    
    }
  • 相关阅读:
    MySQL[MariaDB]安装与配置
    Docker介绍与安装使用
    Docker命令操作
    5G网络
    centos7单机部署腾讯蓝鲸运维平台6.0.2
    建立rsyslog日志服务器
    centos7.7安装oracle11g
    Linux pip命令报错 -bash: pip: command not found
    两种方式安装ansible
    centos7安装zabbix
  • 原文地址:https://www.cnblogs.com/yaowen/p/4884094.html
Copyright © 2011-2022 走看看