我正在做一个小型库来封装适配器功能,我需要以编程方式获取 View 的名称。例如:
<ImageView
android:id="@+id/**ivPerson**"
android:layout_width="80dp"
android:layout_height="80dp"/>
现在,在代码中我有 View (ImageView),我需要获取 View 的名称 --> ivPerson。我可以使用 view.getId() 获取 ID,但这不是我需要的。
有可能吗?
我试过这个:
String name = context.getResources().getResourceEntryName(view.getId());
但不起作用。
最佳答案
您可以改用 getResourceName(...)
。
String fullName = getResources().getResourceName(view.getId());
但是有一个问题。此方法将为您提供完整的 View 路径,例如:"com.google:id/ivPerson"
无论如何,您可以使用此技巧来仅获取 View 的名称:
String fullName = getResources().getResourceName(view.getId());
String name = fullName.substring(fullName.lastIndexOf("/") + 1);
现在 name
将完全是 "ivPerson"
关于android - 在 Android 中以编程方式获取 View 名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34528116/