Intereting Posts
Невозможно редактировать файлы в Android Studio Перезагрузка на Android Android Layout делает все дети недоступными для просмотра Обновите несколько параметров POST Не удается найти файл сценария «C: \ res \ windows \ zip.js» в Phonegap (windows) Как заставить просмотр перерисовываться непосредственно перед выполнением следующей строки кода Восстановление иерархии представлений из сохраненного состояния не восстанавливает добавленные представления Возврат входного потока из дескриптора файла пакета с использованием андроидов DownloadManager Какой выпуск Java используется в Android J2ME или Java SE? Получение события, если файл был загружен / добавлен в папку загрузки Студия Android не загружает источники и javadoc Как проверить, включены ли службы определения местоположения? Как скачать пакет com.sun.net.httpserver? Android Сколько свободного места на SD-карте? Как я могу изменить рингтон в андроиде программно?

Как получить только имя класса, а не полный путь?

Я знаю, что использование Context и метода getClass().getName() Я могу получить строку, которая представляет полное имя класса, например com.package1.package2.MainActivity .

Как я могу получить только последнюю часть, только имя класса? В этом случае это будет строка MainActivity .

Я могу сделать это с помощью простого метода split() , но, возможно, есть лучший способ, более надежный.

Solutions Collecting From Web of "Как получить только имя класса, а не полный путь?"

Это все, что вам нужно.

 MainActivity.this.getClass().getSimpleName(); 

Чтобы получить только имя класса, а не полный путь, вы будете использовать это выражение:

 String className = this.getLocalClassName(); //or String className = getBaseContext().getLocalClassName(); //or String className = getApplicationContext().getLocalClassName(); 

В качестве альтернативы вы можете использовать:

 private static final String TAG = MainActivity.class.getSimpleName(); 

Независимо от того, как вы это делаете, вам нужно выполнить дополнительную операцию поверх getClass. Я бы порекомендовал это по расколу:

 String className = xxx.getClass(); int pos = className.lastIndexOf ('.') + 1; String onlyClass = className.substring(pos); 

Для меня нет других решений, не знаю почему. я использую

 this.getClass().getName().replace("$",".").split("\\.")[3] 

Минусы: в одной строке, и вы можете использовать ее в потоках и прослушивателях.

(В listeres я получаю что-то вроде com.djdance.android.main $ 53 )