Lo más sencillo es inflar el Layout que te interesa en cada uno de los items del GridView en el método getView del Adapter. No necesitas crear una clase explícita para eso.
Y en el caso de necesitar que los items sean de tipo CustomView por narices, siempre puedes crear un nuevo Layout que contenga a un CustomView, y ese es el Layout que inflas en el getView.