android - 获取 Kotlin 中当前函数的名称

标签 android kotlin

更新

如何获取当前正在使用 Kotlin 执行的函数名称?

我正在尝试获取当前正在执行的函数的函数名称,如下所示,但它始终为 null

val funName = Object().`class`.enclosingMethod?.name;

最佳答案

我找到了一种方法:-

val name = object : Any() {

}.javaClass.enclosingMethod.name

上面的代码也可以细化为-

val name = object{}.javaClass.enclosingMethod.name

编辑因为不正确的重复标志会阻止新的答案:

一个更Java的方式是这样的:

Thread.currentThread().stackTrace[1].methodName

但在我的系统上大约需要 47 毫秒,而基于 object() 的系统大约需要 13 毫秒:慢了近 4 倍。

关于android - 获取 Kotlin 中当前函数的名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48181751/

相关文章:

kotlin - Kotlin Native cinterop def文件:如何消除绝对路径?

java - Kotlin-android : unresolved reference databinding

android - 从 Intent 调用 SimpleBaseGameActivity

Android 5.0 - 以编程方式将 AppCompat v7 21 主页图标从汉堡动画化为后退箭头

kotlin - 如何在 Ktor 中接收 JSON 对象?

kotlin - 设置格式时单元格值不再可编辑

android - 使用最新的 com.jakewharton.rxbinding3 :rxbinding:3. 0.0-alpha2 库时未找到 RxTextView 和其他小部件

android - 在两个 fragment 之间传递一个参数,每个 fragment 都在不同的导航图中

android - 如何在第二个 Activity 中使用后退按钮关闭应用程序?

Android - 如何更改条码扫描器 View 大小?