android - 从基类获取当前 Activity 名称

标签 android android-activity

如何获取基类中当前 Activity 的名称。 假设我有一个基本 Activity 类 BaseActivity :

class BaseActivity extends AppCompatActivity
{
    ...
    String getCurrentActivityName() {
            ....
    }
    ...
}

现在我还有另外两门课

class Activity1 extends BaseActivity
{
    ....
}

class Activity2 extends BaseActivity
{
    ....
}

可能还有更多扩展 BaseActivity 的 Activity ,为简洁起见,我在这里使用了 2 个 Activity 。

我不确定如何在基类中实现 getCurrentActivityName() 方法。它应该返回一个包含当前 Activity 名称的字符串。

编辑:由于某些原因,我无法编辑 Activity1 和 Activity2。

最佳答案

创建新的 Activity 类时,您应该将类​​名添加到构造函数中,然后在尝试时使用 getCurrentActivityName 方法获取它

class BaseActivity extends AppCompatActivity
    {
        protected String className;
        public BaseActivity() { this.className = "BaseActivity"; }
        String getCurrentActivityName() {
              return this.className;
        }
        ...
    }

    class Activity1 extends BaseActivity
    {
        protected String className;
        public Activity1() { this.className = "Activity1"; }
    }

    class Activity2 extends BaseActivity
    {   
        protected String className;
        public Activity2() { this.className = "Activity2"; }

    }

然后如果你打电话

BaseActivity baseActivity = new BaseActivity();
baseActivity.getClassname(); // returns "BaseActivity"
Activity1 activity1 = new Activity1();
activity1.getClassname(); // returns "Activity1"

或者,如果您只想知道当前 Activity 名称,请使用 .就这么简单

this.getClass().getSimpleName()

关于android - 从基类获取当前 Activity 名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49107212/

相关文章:

android - 自定义进度条中的圆形渐变

android - Android 中的透明帮助 Activity

android - 何时实际使用 savedInstanceState 包?

java - 相机应用程序在按下后退按钮时保存空文件

android - 另一个 Android 应用因 AdMob 而崩溃

android - 在 RecyclerView 中单击时刷新 Activity

android - 如何为无法选择的微调器设置标题..?

java - 如何设置来自另一个 Activity 类的文本

android - 为什么我的 Activity 不是通过 URL 启动的?

android - 从设置屏幕 android 返回时开始执行操作