A classe BaseAdapter pode ser extendida para auxiliar na montagem da exibição dos dados das Activities. A respeito desta classe, leia as afirmações e assinale a alternativa correta:
I - O método getCount não pode ser sobrescrito. II - O método getCount retorna a quantidade de registros da coleção. III - No método getView inflamos o layout a receber os dados e associamos os dados aos campos das views do layout. IV - O método getView recupera a view do banco de dados.
Somente I e II estão corretas. Somente II e III estão corretas. Somente I, II e IV estão corretas. Somente I, III e IV estão corretas. Todas estão corretas.
Lista de comentários
trfiladelfo
Pelo jeito a pergunta é sobre o desenvolvimento em Android, na versão da API 20 (KitKat - 4.4).
Só entendendo a Classe BaseAdapter, ele implementa uma interface chamada ListAdapter que por sua vez implementa uma outra interface Adapter. Na classe interface Adapter temos esses métodos getCount e getView, por consequência implementadas na classe BaseAdapter, uma vez que o BaseAdapter é uma classe de abstração.
Para entender toda vez que você implementa uma interface, um padrão, deve codificar os métodos deste padrão mesmo aqueles que é sabido que nunca será usado. Mas está no padrão então não pode mudar.
Bom o caso é que o BaseAdapter tem o padrão Adapter implementado, e o método getCount retorna a quantidade de registros inseridos no adapter. Portanto a sentença II é verdadeira.
Olhando a documentação não existe notação final do método getCount na classe BaseAdapter, portanto é possível fazer o sobrescrito do método na classe extendida. Então sentença I falsa.
Sentença III, o getView é uma representação gráfica das células da listagem, portanto é verdadeiro que inflamos (leitura do xml de layout no android) o layout e inserimos os dados.
Sentença IV: recuperação da view no banco de dados, isso é muito complexo, pois quebra a ideia de usar MVC... não é válido pelo conceito de organização de programação, mas existem sistemas que o view (tela) é armazenada em banco de dados. Portanto por questões de padrões de desenvolvimento isso não pode ser verdade ..... deve ser evitado por motivos de melhorar a manutenção do sistema e de desempenho..
Resumindo temos II e III como verdades. Alternativa b ou a segunda alternativa da questão
Para mais esclarecimentos o link da documentação do Android: http://developer.android.com/reference/android/widget/BaseAdapter.html
1 votes Thanks 3
claudioborges
Atendendo ao enunciado a alternativa correta é: Somente II e III estão corretas.
Lista de comentários
Só entendendo a Classe BaseAdapter, ele implementa uma interface chamada ListAdapter que por sua vez implementa uma outra interface Adapter.
Na classe interface Adapter temos esses métodos getCount e getView, por consequência implementadas na classe BaseAdapter, uma vez que o BaseAdapter é uma classe de abstração.
Para entender toda vez que você implementa uma interface, um padrão, deve codificar os métodos deste padrão mesmo aqueles que é sabido que nunca será usado. Mas está no padrão então não pode mudar.
Bom o caso é que o BaseAdapter tem o padrão Adapter implementado, e o método getCount retorna a quantidade de registros inseridos no adapter. Portanto a sentença II é verdadeira.
Olhando a documentação não existe notação final do método getCount na classe BaseAdapter, portanto é possível fazer o sobrescrito do método na classe extendida. Então sentença I falsa.
Sentença III, o getView é uma representação gráfica das células da listagem, portanto é verdadeiro que inflamos (leitura do xml de layout no android) o layout e inserimos os dados.
Sentença IV: recuperação da view no banco de dados, isso é muito complexo, pois quebra a ideia de usar MVC... não é válido pelo conceito de organização de programação, mas existem sistemas que o view (tela) é armazenada em banco de dados. Portanto por questões de padrões de desenvolvimento isso não pode ser verdade ..... deve ser evitado por motivos de melhorar a manutenção do sistema e de desempenho..
Resumindo temos II e III como verdades.
Alternativa b ou a segunda alternativa da questão
Para mais esclarecimentos o link da documentação do Android: http://developer.android.com/reference/android/widget/BaseAdapter.html
Somente II e III estão corretas.