Day-29 跳页

在过去撰写的程序都是以单页的形式呈现,

但实际上架的APP多不只一页,

那要如何从A页跳至B页?

这问题就交由今天的主题"跳页"来学习。


在探讨如何跳页之前,首先必须学会如何建立新页面。

Step1 - 左侧Project右键 ▶ New ▶ Activity ▶ Empty Activity
https://ithelp.ithome.com.tw/upload/images/20211008/201419505Cn1kXc03q.png
Step2 - 更改Activity Name,本范例改为Page2後按下Finish即建立完成
https://ithelp.ithome.com.tw/upload/images/20211008/20141950X8TZ30rV1r.png

https://ithelp.ithome.com.tw/upload/images/20211008/20141950AvnpEkoln1.png
▲ New Activity完成後新增了activity_page2及Page2.java


回到activity_main.xml,我们新增一个负责跳页的按钮及TextView显示Page

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">

    <Button
        android:id="@+id/ToPage2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="跳页"
        android:textSize="25sp"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintHorizontal_bias="0.498"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginBottom="100dp"
        android:text="Page1"
        android:textSize="25sp"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent" />

</androidx.constraintlayout.widget.ConstraintLayout>

在activity_page2.xml的部分,同样新增一个Button与TextView

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".Page2">

    <Button
        android:id="@+id/ToPage1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="跳页"
        android:textSize="25sp"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintHorizontal_bias="0.498"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginBottom="100dp"
        android:text="Page2"
        android:textSize="25sp"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent" />

</androidx.constraintlayout.widget.ConstraintLayout>

在Java程序的部分,我们为Button建立触发事件,

触发事件的内容为Page1跳至Page2、Page2跳至Page1,

而跳页的语法如下:

Intent intent = new Intent(此Activity.this, 欲跳至的Activity.class);
startActivity(intent);

加入跳页後,

MainActivity.java完整的程序码如下

package com.example.intent;

import androidx.appcompat.app.AppCompatActivity;

import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;

public class Page2 extends AppCompatActivity {
    private Button ToPage1;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_page2);

       ToPage1 = findViewById(R.id.ToPage1);

       ToPage1.setOnClickListener(new View.OnClickListener() {
           @Override
           public void onClick(View v) {
               Intent intent = new Intent(Page2.this, MainActivity.class);
               startActivity(intent);
           }
       });
    }
}

Page2.java完整的程序码如下

package com.example.intent;

        import androidx.appcompat.app.AppCompatActivity;

        import android.content.Intent;
        import android.os.Bundle;
        import android.view.View;
        import android.widget.Button;

public class Page2 extends AppCompatActivity {
    private Button ToPage1;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_page2);

        ToPage1 = findViewById(R.id.ToPage1);

        ToPage1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intent = new Intent(Page2.this, MainActivity.class);
                startActivity(intent);
            }
        });
    }
}

执行後点击中央的Button,页面将随之转换
https://ithelp.ithome.com.tw/upload/images/20211009/20141950cKK1HNa40S.png


<<:  [DAY-29] 零规则的带脑去上班

>>:  DAY28:实作专案之内容

详解资料仓库的实施步骤,实战全解!(1)

建立资料仓库是一个解决企业资料问题应用的过程,是企业资讯化发展到一定阶段必不可少的一步,也是发展资料...

Day 25 实作 user_bp (3)

前言 我们今天还是没有离开 user_bp,我们要来弄写文章的页面,也就是 markdown 上场的...

PM职称百百种,工作内容样样有

到底 PM 在做什麽? 以前还没有开始当产品经理前,因为对这个职位很有兴趣希望能够往这个职涯发展,...

Day2 Let's ODOO: 开发者模式

当需要以管理者身份去修改ODOO的时候,我们就要打开开发者模式,流程如下: 1.点击Setting图...

android studio 30天学习笔记-day 20-SQLlite

SQLlite是android内建的资料库,可以做资料储存、更改、查询等操作。 建立一个SqlDat...