2011-05-06 53 views
2

嘿,沒有人有開發具有Java反射功能的Android應用程序的經驗嗎?在Android應用程序中使用Java反射功能

我陷入了一個奇怪的問題,尋求幫助。

我有一個活動和居住在同一個包我的活動的通用類, 假設他們是com.mypkg.MyActivity和com.mypkg.MyClass 我的代碼在MyActivity:

Class clazz = MyClass.class; 
Constructor[] constructors1 = clazz.getDeclaredConstructors(); 
Class cls = java.lang.Object.class; 
Constructor[] constructors2 = cls.getDeclaredConstructors(); 
... 

好吧,現在我的問題: 代碼在模擬器上運行良好, ,而在真實的設備上,那些預構建類的構造函數,如java.lang.Object或android.widget.FrameLayout,可以正確檢索,但構造函數MyClass始終爲空(即constructors1.length始終爲零)

我很困惑,有幫助嗎?

+0

如果您通過Class.forName(「您的班級名稱」)獲得對您班級的引用,有什麼區別? – ErikR 2011-05-06 18:32:24

+0

感謝您的回覆,我也嘗試了Class.forName,它的運行結果與MyClass.class相同。 – user718146 2011-05-07 00:44:55

回答

0

這可能是你試過的東西,但是你確定你的類(MyClass)在你的AndroidManifest.xml中被正確的聲明瞭嗎?也許你的模擬器比實際的設備更寬大。