Android: ¿Patrón de ViewHolder y diferentes tipos de filas?

El patrón de ViewHolder mejora la velocidad de cuadros de desplazamiento de ListView, como se ve en el siguiente ejemplo:https://developer.android.com/resources/samples/ApiDemos/src/com/example/android/apis/view/List14.html

¿Es posible mantener este patrón mientras se usan diferentes tipos de Vistas para diferentes filas?

En otras palabras, ¿es posible hacer algo como:

 public View getView(int position, View view, ViewGroup parent) {  
     // calculate viewID here
     if (view == null || *view is not null but was created from different XML than viewID* ) { 
         view = mInflater.inflate(viewId, null);  

Respuestas a la pregunta(1)

Su respuesta a la pregunta