初识Intent-实现从一个Activity跳转至另一个Activity并实现单向传值

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_36407875/article/details/53613672

本篇博客主要讲解如何使用Intent来实现Activity之间的跳转.
本篇博客实现的是一个简单的注册跳转的Demo

实现步骤:

  1. 新建一个Activity的布局XML文件
  2. 新建一个Activity并使用setContentView()方法关联该Activity的布局文件
  3. 实例化一个Intent对象
  4. putExtra()方法实现数据的单向传递
  5. getintent()方法 返回一个intent实例
  6. getStringExtra()方法接受数据

一.两个界面设计展示

  1. MainActivity的布局文件

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="com.ggq.intent.MainActivity"
    android:orientation="vertical"
    android:weightSum="1">


    <LinearLayout
        android:orientation="horizontal"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal">

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textAppearance="?android:attr/textAppearanceLarge"
            android:text="用户名:"
            android:id="@+id/tv1" />

        <EditText
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:inputType="textPersonName"
            android:hint="请输入用户名"
            android:ems="10"
            android:id="@+id/et1"
            android:layout_weight="1" />
    </LinearLayout>

    <LinearLayout
        android:orientation="horizontal"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal">

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textAppearance="?android:attr/textAppearanceLarge"
            android:text="密    码:"
            android:id="@+id/tv2" />

        <EditText
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:inputType="textPassword"
            android:ems="10"
            android:hint="请输入密码"
            android:id="@+id/et2"
            android:layout_weight="1" />
    </LinearLayout>

    <LinearLayout
        android:gravity="center"
        android:orientation="horizontal"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal">

        <Button

            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="下一步"
            android:id="@+id/btn_next"
            android:textSize="25dp" />
    </LinearLayout>

</LinearLayout>


2.Activity02的布局文件

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:orientation="vertical"
    android:layout_height="match_parent"
    android:weightSum="1">

    <LinearLayout
        android:orientation="horizontal"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal">

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textAppearance="?android:attr/textAppearanceLarge"
            android:id="@+id/textView" />

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textAppearance="?android:attr/textAppearanceLarge"
            android:text="用户名:"
            android:id="@+id/tv3" />

        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:textAppearance="?android:attr/textAppearanceLarge"
            android:id="@+id/tv4" />

    </LinearLayout>

    <LinearLayout
        android:orientation="horizontal"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal">

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textAppearance="?android:attr/textAppearanceLarge"
            android:text="密    码:"
            android:id="@+id/tv5" />

        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:textAppearance="?android:attr/textAppearanceLarge"
            android:id="@+id/tv6" />
    </LinearLayout>

    <LinearLayout
        android:orientation="horizontal"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:layout_gravity="center_horizontal">

        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="确认信息并注册"
            android:id="@+id/btn_sure"
            android:textSize="25dp" />
    </LinearLayout>
</LinearLayout>


二.Java代码实现

  1. MainActivity代码

package com.ggq.intent;

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

public class MainActivity extends AppCompatActivity {

    private Button button_next=null;
    private EditText et_username = null;
    private EditText et_pwd = null;
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        et_username=(EditText) findViewById(R.id.et1);
        et_pwd=(EditText) findViewById(R.id.et2);
        button_next = (Button) findViewById(R.id.btn_next);
        button_next.setOnClickListener(new View.OnClickListener() {
            public void onClick(View v) {
                Intent intent = new Intent(MainActivity.this, Activity02.class);
                String name = et_username.getText().toString().trim();
                String pwd = et_pwd.getText().toString().trim();
                intent.putExtra("username", name);
                intent.putExtra("pwd", pwd);
                MainActivity.this.startActivity(intent);
            }
        });
    }
}


2.Activity02代码

package com.ggq.intent;

import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;

public class Activity02 extends AppCompatActivity{
    Button btn_sure=null;
    TextView tv_name=null;
    TextView tv_pwd=null;
    protected void onCreate( Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity02);
        Intent intent = super.getIntent();
        String getname = intent.getStringExtra("username");
        String getpwd = intent.getStringExtra("pwd");
        btn_sure = (Button) findViewById(R.id.btn_sure);
        tv_name = (TextView) findViewById(R.id.tv4);
        tv_pwd = (TextView) findViewById(R.id.tv6);

        tv_name.setText(getname);
        tv_pwd.setText(getpwd);

        btn_sure.setOnClickListener(new View.OnClickListener() {

            public void onClick(View v) {
                Toast.makeText(Activity02.this, "注册成功!", Toast.LENGTH_SHORT).show();
            }
        });

    }
}


三.AndroidManifest配置

使用一个新的Activity必须在AndroidManifest清单中注册才能使用
注册代码如下:

<application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity android:name=".Activity02">

        </activity>
    </application>


四.最终效果展示

MainActivity Activity02

猜你喜欢

转载自blog.csdn.net/qq_36407875/article/details/53613672
今日推荐