今天介紹如何用intent的方式來實現跳轉至下一個頁面。以下將使用之前的activity_constraint_layout.xml來實作。
activity_constraint_layout.xml
<?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=".constraint_layout">
<EditText
android:id="@+id/editText"
android:layout_width="173dp"
android:layout_height="38dp"
android:layout_gravity="center"
android:background="@drawable/edittext_inputstyle"
android:hint=" Account"
android:inputType="text"
android:singleLine="true"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.445"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.292" />
<EditText
android:id="@+id/editText2"
android:layout_width="173dp"
android:layout_height="38dp"
android:layout_gravity="center"
android:background="@drawable/edittext_inputstyle"
android:hint=" Password"
android:inputType="numberPassword"
android:singleLine="true"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.445"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.442" />
<Button
android:id="@+id/button"
android:layout_width="145dp"
android:layout_height="58dp"
android:background="@drawable/button_round"
android:text="Log in"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.06"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.644" />
<Button
android:id="@+id/button2"
android:layout_width="145dp"
android:layout_height="58dp"
android:background="@drawable/edittext_inputstyle"
android:text="Clear"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.894"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.644" />
</androidx.constraintlayout.widget.ConstraintLayout>
呈現畫面為:
我們以這個畫面設定Log in按鈕點下去要進入到另一個畫面。首先需要找對應的java檔,也就是constraint_layout.java這個檔。
constraint_layout.java
package com.example.test01;
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
public class constraint_layout extends AppCompatActivity {
private Button button;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_constraint_layout);
button = (Button) findViewById(R.id.button);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = new Intent();
intent.setClass(constraint_layout.this,MainActivity.class);
startActivity(intent);
}
});
}
}
先宣告一個私有變數是Button型態我們取名為button
private Button button;
在下方新增按鈕監聽事件
button = (Button) findViewById(R.id.button); //此處的button需要對照xml檔這個按鈕的id名稱
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = new Intent();
intent.setClass(constraint_layout.this,MainActivity.class);
//constraint_layout為本檔案的名稱,後面是需要跳轉的頁面java檔名稱MainActivity
startActivity(intent);
//執行按鈕跳轉
}
});
而在這邊我們可以使用toast來顯示登入成功或失敗。
在startActivity(intent);下面加上這行
Toast.makeText(constraint_layout.this,"登入成功", Toast.LENGTH_SHORT).show();
即可顯示登入成功的訊息啦!
補充說明: 如果出現紅字可按ALT+ENTER來試著解決。
今天介紹到這邊,我們明天見。