之前的博文已經對Android系統的activity做了詳細的學習:
《 Android學習筆記之——通過Intent來啓動不同的Activity》
《Android學習筆記之——通過Intent來實現Activity之間數據傳遞》
《 Android學習筆記之——Activity完整的工作週期 》
《 Android學習筆記之——Activity的啓動模式》
本博文學習一些activity的實用技巧
目錄
知曉當前是在哪一個活動
首先需要新建一個BaseActivity 類
BaseActivity 和普通活動的創建方式並不一樣,因爲我們不需要讓BaseActivity在AndroidManifest.xml中註冊,所以選擇創建一個普通的Java類就可以了。
然後讓BaseActivity 繼承自AppCompatActivity ,並重寫onCreate() 方法,如下所示:
package com.example.activitytest;
import android.os.Bundle;
import android.util.Log;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;
public class BaseActivity extends AppCompatActivity {
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Log.d("BaseActivity",getClass().getSimpleName());//獲取了當前實例的類名,並通過Log打印了出來。
}
}
接下來我們需要讓BaseActivity 成爲ActivityTest項目中所有活動的父類。修改FirstActivity、SecondActivity和ThirdActivity的繼承結構,讓它們不再繼承自AppCompatActivity ,而是繼承自BaseActivity 。而由於BaseActivity 又是繼承自AppCompatActivity 的,所以項目中所有活動的現有功能並不受影響,它們仍然完全繼承了Activity中的所有特性。
現在每當我們進入到一個活動的界面,該活動的類名就會被打印出來,這樣我們就可以時時刻刻知曉當前界面對應的是哪一個活動了。