1. 程式人生 > >通過反射獲取一個內部類的屬性

通過反射獲取一個內部類的屬性

//Class clazz = Class.forName("com.example.test.R.drawable");

Class clazz = com.example.test.R.drawable.class;
Field field = clazz.getDeclaredField("ic_launcher");

Log.i(TAG, "id::" + field.getInt("3"));

這段程式碼是可以正確獲得屬性的值的,但是註釋的程式碼獲取不到屬性值;不知道為什麼?

那是因為內部類的命名為外部類$內部類;所以找不到,所以改成Class clazz = Class.forName("com.example.test.R$drawable");類載入器就能找到了