mh taqia mh taqia - 6 months ago 7
Android Question

Create static array using Class.forName

In Android there is a undeclared (hidden) class named "android.graphics.FontFamily" and I want to create static array of it. Any thing like this:

Class<?> clazz = Class.forName("android.graphics.FontFamily"); // Ok.
Class<?> clazz_array = Class.forName("android.graphics.FontFamily[]"); // Method threw 'java.lang.ClassNotFoundException' exception.


To build this hypothetical code:

FontFamily[] families = {fontFamily};


How can I do it?

Thankyou.

Answer

You should be able to create an array reflectively then get its class. Example:

Class<?> clazzArray = Array.newInstance(clazz, 0);
Object families = Array.newInstance(clazz, 1); 
Array.set(families, 0, fontFamily);
Comments