关注微信公众号 太平洋学习网 扫描二维码
最新消息:关注【太平洋学习网】微信公众号,可以获取全套资料,【全套Java基础27天】【JavaEE就业视频4个月】【Android就业视频4个月】

android activity之间切换并传递参数

Android 太平洋学习网 浏览 评论

1.android的activity之间跳转切换并传递参数是经常使用到的,下面是一个android的登录跳转案例,使用RelativeLayout绝对布局来实现,activity_main.xml代码如下。

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="horizontal"
    tools:context="com.baidu.jiaoyou.MainActivity">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="用户名:"
        android:layout_marginTop="100dp"
        android:layout_marginLeft="50dp"
        android:textSize="20dp" />

    <EditText
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="90dp"
        android:layout_marginLeft="120dp"
        android:inputType="text"
        android:ems="10"
        android:id="@+id/username"
        android:layout_weight="1" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="密   码:"
        android:layout_marginTop="180dp"
        android:layout_marginLeft="50dp"
        android:textSize="20dp" />

    <EditText
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="170dp"
        android:layout_marginLeft="120dp"
        android:inputType="textPassword"
        android:ems="10"
        android:id="@+id/password"
        android:layout_weight="1" />

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="240dp"
        android:layout_marginLeft="50dp"
        android:background="@color/accent_material_dark"
        android:width="120dp"
        android:textSize="20dp"
        android:text="点击登录"
        android:id="@+id/loginBtn"
        android:layout_gravity="center_vertical" />

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="240dp"
        android:layout_marginLeft="210dp"
        android:background="@color/accent_material_dark"
        android:width="120dp"
        android:textSize="20dp"
        android:text="找回密码"
        android:id="@+id/forgetBtn"
        android:layout_gravity="center_vertical" />

</RelativeLayout>

android登录界面效果如图。

QQ截图20170624011055.png

2.输入用户名,点击登录按钮则跳转到另外一个activity界面,并将用户名传递到下一个activity中,MainActivity.java处理类代码如下。

package com.baidu.jiaoyou;
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;

public class MainActivity extends AppCompatActivity {
    private EditText userText;
    private EditText pwdText;
    private Button loginBtn;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        userText = (EditText)findViewById(R.id.username);
        pwdText = (EditText)findViewById(R.id.password);
        loginBtn = (Button)findViewById(R.id.loginBtn);
        //跳转到我的空间页面并携带参数
        loginBtn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intent = new Intent();
                //参数1:本类 参数2:目标java类
                intent.setClass(MainActivity.this,MyspaceActivity.class);
                //给MyspaceActivity传递一个key为sayhello的参数
                intent.putExtra("sayhello","hello,"+userText.getText()+",这是你的空间");
                startActivity(intent);
                //返回动画,从右到左滑动(从左到右的动画暂无)
                overridePendingTransition(android.R.anim.slide_in_left,android.R.anim.slide_out_right);
            }
        });
    }
}

3.目标activity为activity_myspace.xml界面代码如下。

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="com.baidu.jiaoyou.MyspaceActivity">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        android:textSize="20dp"
        android:id="@+id/helloText"
        android:text="Hello,Janwang,这是你的空间!"
        />
</RelativeLayout>

4.activity_myspace.xml对应的MyspaceActivity.java处理类接收上个acitivity传递过来的参数,代码如下。

package com.baidu.jiaoyou;
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.TextView;

public class MyspaceActivity extends AppCompatActivity {
    private TextView helloText;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_myspace);
        //获取文本标签的对象
        helloText = (TextView)findViewById(R.id.helloText);
        //获取intent对象
        Intent intent = getIntent();
        Bundle bundle = intent.getExtras();
        //根据key获取值
        String hello = bundle.getString("sayhello");
        //显示给TextView标签
        helloText.setText(hello);
    }
}

在登录界面输入“zhangsan”,点击登录之后activity跳转传递参数的执行结果如图所示:

QQ截图20170624012628.png


来源网站:太平洋学习网,转载请注明出处:http://www.tpyyes.com/a/android/2017/0624/120.html

    与本文相关的文章