我正在尝试使用各自实例化的arrayObjects。
我尝试在数组中放置多个对象,但我不知道正确的sintax
我正在尝试:
Class[] classes = new Class[]{ViewHolder1.class,ViewHolder2.class};
在我的适配器中有:
RecyclerView.ViewHolder viewHolder;
Class[] classes; // -> will get values
我能做到:
viewHolder = new ViewHolder1(v1);
但我不知道如何从数组中访问我的对象:
viewHolder = new classes[i](v1); //can't not find simbol class.
我不知道是否需要I Object [] // Class [],以及如何实例化正确。
答案 0 :(得分:0)
我从您的评论中得到的是,您有一系列Class
类型对象,并且您希望实例化Object
Class
你可以通过reflection来实现它,所以如果它是你的类数组中的第0个元素,你必须这样做:
Constructor ctor = classes[0].getDeclaredConstructor(<Class of v1 Object>);
ctor.setAccessible(true);
viewHolder = ctor.newInstance(v1);
此代码只是为了让您了解如何使用反射。您需要对其进行调整以使其完全正常运行。
希望它有所帮助。