77

ContextとメソッドgetClass().getName()を使用すると、のような完全なクラス名を表す文字列を取得できることを認識していcom.package1.package2.MainActivityます。

クラス名のみの最後の部分のみを取得するにはどうすればよいですか?この場合、それはMainActivity文字列になります。

私は簡単なsplit()方法でそれを行うことができますが、おそらくより良い方法、より信頼性の高い方法があります。

4

10 に答える 10

176

必要なのはこれだけです。

MainActivity.this.getClass().getSimpleName();
于 2012-05-15T18:58:15.427 に答える
21

フルパスではなく、クラスの名前のみを取得するには、次の式を使用します。

String className =  this.getLocalClassName(); 
//or
String className = getBaseContext().getLocalClassName();  
//or
String className = getApplicationContext().getLocalClassName(); 
于 2012-05-15T17:59:26.843 に答える
1

どのように実行しても、getClassの上で追加の操作を実行する必要があります。分割よりもこれをお勧めします:

String className = xxx.getClass();
int pos = className.lastIndexOf ('.') + 1; 
String onlyClass = className.substring(pos);
于 2012-05-15T17:56:52.600 に答える
1

コトリンの方法:MainActivity::class.java.simpleName

于 2020-09-21T07:13:07.680 に答える