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());
    }

}
复制代码

 


本文转自农夫山泉别墅博客园博客,原文链接:http://www.cnblogs.com/yaowen/p/4884094.html,如需转载请自行联系原作者
相关文章
|
4月前
|
Android开发 开发者
Android UI设计: 请解释Activity的Theme是什么,如何更改应用程序的主题?
Android UI设计: 请解释Activity的Theme是什么,如何更改应用程序的主题?
44 1
|
4月前
|
数据库 Android开发 开发者
Android基础知识:请解释Activity的生命周期。
Android基础知识:请解释Activity的生命周期。
47 2
|
4月前
|
Linux 调度 Android开发
【系统启动】Kernel怎么跳转到Android:linux与安卓的交界
【系统启动】Kernel怎么跳转到Android:linux与安卓的交界
52 0
|
2天前
|
XML Java Android开发
利用Bundle实现Android Activity间消息的传递
利用Bundle实现Android Activity间消息的传递
|
2天前
|
Android开发 数据库管理
Android如何在Activity和Service之间传递数据
Android如何在Activity和Service之间传递数据
10 3
|
5天前
|
Shell Android开发
Android Activity重写dump方法实现通过adb调试代码
Android Activity重写dump方法实现通过adb调试代码
11 0
|
1月前
|
Java Android开发
Android四大组件之Activity组件
Android四大组件之Activity组件
|
1月前
|
人工智能 测试技术 Android开发
Android实现点击链接跳转功能
Android实现点击链接跳转功能
18 1
|
3月前
|
Android开发
[Android 四大组件] --- Activity
[Android 四大组件] --- Activity
25 1
|
4月前
|
Android开发
Android基础知识:什么是Fragment?与Activity的区别是什么?
Android基础知识:什么是Fragment?与Activity的区别是什么?
342 54