Pergunta

O padrão do viewholder melhora a taxa de quadros de rolagem da ListView, como visto no exemplo a seguir:https://developer.android.com/resources/samples/apidemos/src/com/example/android/apis/view/list14.html

É possível manter esse padrão ao usar diferentes tipos de visualizações para diferentes linhas?

Em outras palavras, é possível fazer 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);  
Foi útil?

Solução

Sim, embora seja muito melhor substituir getViewTypeCount() e getItemViewType() em seu adaptador. Isso ensinará o pool de objetos do Android para entregar apenas uma linha do tipo adequado de volta getView().

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top