如何获取基类中当前 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/