Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/186.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何在hierarchyviewer中查找视图背后的代码_Android_Android Layout_Hierarchyviewer - Fatal编程技术网

Android 如何在hierarchyviewer中查找视图背后的代码

Android 如何在hierarchyviewer中查找视图背后的代码,android,android-layout,hierarchyviewer,Android,Android Layout,Hierarchyviewer,Android hierarchyviewer在树状视图中显示每个视图的ID。 ID是一个@符号,后跟一个数字,例如@4051d698 在本文中,该数字被解释为“指向视图对象的指针” 假设有一个像AOSP这样的大型android项目的来源。 如何通过使用这个ID来确定视图背后的java源代码是什么 是否有一个方法可以调用,告诉我绑定到此指针的R.java条目是什么 如何通过使用这个ID来确定视图背后的java源代码是什么 你不能,至少没有调试器。如果您习惯于C/C++开发,那么该十六进制值大致类

Android hierarchyviewer在树状视图中显示每个视图的ID。 ID是一个@符号,后跟一个数字,例如@4051d698

在本文中,该数字被解释为“指向视图对象的指针”

假设有一个像AOSP这样的大型android项目的来源。 如何通过使用这个ID来确定视图背后的java源代码是什么

是否有一个方法可以调用,告诉我绑定到此指针的R.java条目是什么

如何通过使用这个ID来确定视图背后的java源代码是什么

你不能,至少没有调试器。如果您习惯于C/C++开发,那么该十六进制值大致类似于指针。仅仅因为在C/C++中有一个指向大量RAM的指针,并不意味着可以确定驻留在该指针上的对象背后的源代码

现在,有可能在调试器中有一种方法来提供这个十六进制值,调试器将匹配一个对象和源代码。我不是Eclipse专家,也不是其他IDE调试器的专家,我不知道是否有办法做到这一点。但是,即使可以这样做,它也可能只提供对象类的源代码(例如,如果
视图
列表视图
,它可能会将您发送到
列表视图
源代码),而不是创建对象的源代码

是否有一个方法可以调用,告诉我绑定到此指针的R.java条目是什么

首先,
R.java
没有“绑定”到任何指针

其次,所讨论的
视图
可能不是来自膨胀的布局。它可能是直接用Java代码创建的


如果
视图
有一个“视图对象ID”(例如,
ID/content
),可以更好地帮助您找到它的来源,因为这将是一个
android:ID
值,可能来自您的布局资源。

那么为什么hierarchyviewer会在视图树中显示它呢?我能从这个指针中获得其他信息吗?根据您的解释,它太小了,开发人员不应该在意它。@ApriOri:“那么为什么hierarchyviewer会在视图树中显示它?我可以从这个指针获得其他信息吗?”--如果您从调试器中看到一个具有特定对象ID(“指针”)的小部件,您可能可以在层次视图中找到它。否则,我不知道你会用它做什么。