0
我有一個存儲類的類型的數組。已知類型的實例化類
然後這些按與其相關的順序實例化。
public static class ViewHolderViewTypeStorage {
private int layout;
private Class<? extends BaseViewHolder> classType;
public ViewHolderViewTypeStorage(int layout, Class<? extends BaseViewHolder> classType) {
this.layout = layout;
this.classType = classType;
}
public int getLayout() {
return layout;
}
public Class<? extends BaseViewHolder> getClassType() {
return classType;
}
}
然後,他們被要求
ViewHolderViewTypeStorage viewHolderViewTypeStorage = viewHolderViewTypeStorageMap.get(viewType);
View newViewGroup = LayoutInflater.from(parent.getContext()).inflate(viewHolderViewTypeStorageMap.get(viewType).getLayout(), parent, false);
//The problem code
return viewHolderViewTypeStorage.getClassType().getDeclaredConstructor(viewHolderViewTypeStorage.getClassType()).newInstance(newViewGroup);
我的問題是,是,它不工作。我得到以下錯誤:
<init> [class my.app.mainui.ViewHolderLatestChangeTask]
我也試圖與
viewHolderViewTypeStorage.getClassType().getDeclaredConstructor().newInstance(newViewGroup);
錯誤消息被
<init> []
任何想法,我又立刻陷入:-S
繼承人的解。
return viewHolderViewTypeStorage.getClassType().getDeclaredConstructor(new Class<?>[]{View.class}).newInstance(newViewGroup);
感謝這麼多,它的工作原理。 –