學習時間2小時
程式碼量200
package com.example.myapplication;
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.os.Bundle;
import android.os.Handler;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Locale;
public class MainActivity extends AppCompatActivity {
private TextView textViewTime;
private Handler handler;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 找到 TextView
textViewTime = findViewById(R.id.textViewTime);
// 初始化 Handler
handler = new Handler();
// 開始更新時間
startUpdatingTime();
Button button = (Button) findViewById(R.id.a1);
Button button1 = (Button) findViewById(R.id.a2);
Button button2 = (Button) findViewById(R.id.a3);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//監聽按鈕,如果點選,就跳轉
Intent intent = new Intent();
//前一個(MainActivity.this)是目前頁面,後面一個是要跳轉的下一個頁面
intent.setClass(MainActivity.this, line.class);
startActivity(intent);
}
});
button1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(MainActivity.this, site.class);
startActivity(intent);
startUpdatingTime();
}
});
button2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(MainActivity.this, start.class);
startActivity(intent);
startUpdatingTime();
}
});// 新增缺失的 }
}
private void startUpdatingTime() {
// 定義一個 Runnable 來更新時間
Runnable updateTimeRunnable = new Runnable() {
@Override
public void run() {
// 獲取當前時間
String currentTime = new SimpleDateFormat("HH:mm:ss", Locale.getDefault()).format(new Date());
// 設定當前時間到 TextView
textViewTime.setText("當前時間: " + currentTime);
// 延遲一秒後再次更新時間
handler.postDelayed(this, 1000);
}
};
// 首次啟動更新時間
handler.post(updateTimeRunnable);
}
@Override
protected void onDestroy() {
super.onDestroy();
// 停止更新時間,避免記憶體洩漏
handler.removeCallbacksAndMessages(null);
}
}
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.os.Bundle;
import android.os.Handler;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Locale;
public class MainActivity extends AppCompatActivity {
private TextView textViewTime;
private Handler handler;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 找到 TextView
textViewTime = findViewById(R.id.textViewTime);
// 初始化 Handler
handler = new Handler();
// 開始更新時間
startUpdatingTime();
Button button = (Button) findViewById(R.id.a1);
Button button1 = (Button) findViewById(R.id.a2);
Button button2 = (Button) findViewById(R.id.a3);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//監聽按鈕,如果點選,就跳轉
Intent intent = new Intent();
//前一個(MainActivity.this)是目前頁面,後面一個是要跳轉的下一個頁面
intent.setClass(MainActivity.this, line.class);
startActivity(intent);
}
});
button1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(MainActivity.this, site.class);
startActivity(intent);
startUpdatingTime();
}
});
button2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(MainActivity.this, start.class);
startActivity(intent);
startUpdatingTime();
}
});// 新增缺失的 }
}
private void startUpdatingTime() {
// 定義一個 Runnable 來更新時間
Runnable updateTimeRunnable = new Runnable() {
@Override
public void run() {
// 獲取當前時間
String currentTime = new SimpleDateFormat("HH:mm:ss", Locale.getDefault()).format(new Date());
// 設定當前時間到 TextView
textViewTime.setText("當前時間: " + currentTime);
// 延遲一秒後再次更新時間
handler.postDelayed(this, 1000);
}
};
// 首次啟動更新時間
handler.post(updateTimeRunnable);
}
@Override
protected void onDestroy() {
super.onDestroy();
// 停止更新時間,避免記憶體洩漏
handler.removeCallbacksAndMessages(null);
}
}