我知道使用Context和方法getClass().getName()可以获取代表完整类名的字符串,例如com.package1.package2.MainActivity。
我如何只获得最后一部分,仅获得类名称?在这种情况下,它将是MainActivity字符串。
我可以用一种简单的split()方法来做到这一点,但也许有更好的方法,更可靠。
Answers:
要仅获取类的名称而不是完整路径,可以使用以下表达式:
String className = this.getLocalClassName();
//or
String className = getBaseContext().getLocalClassName();
//or
String className = getApplicationContext().getLocalClassName();
无论采用哪种方式,都需要在getClass之上执行额外的操作。我建议在拆分时使用:
String className = xxx.getClass();
int pos = className.lastIndexOf ('.') + 1;
String onlyClass = className.substring(pos);
split或更安全substring。
getLocalClassName()将应用程序的根目录中返回任何包名。无论它是在根目录还是在其他软件包中,它仅返回类的名称。