Um objeto ADAPTER atua como uma ponte entre um AdapterView e os dados subjacentes para esta visão. O adapter permite o acesso aos itens e também é responsável por fazer uma exibição de cada item do conjunto de dados. Ou seja, usamos adapter's quando queremos listar algo de forma personalizada com um layout definida pelo designer ou programador.
O Android já pré-disponibiliza um adapter padrão para listagem, devemos apenas herdar nossa Activity de ListActivity e criar um ArrayAdaper para listar de forma simples mas muito eficiente alguns dados guardados em List ou Array's.
Aqui irei disponibilizar um código feito por mim para listarmos todos as pastas e arquivos do SDCARD. Iremos englobar o ADAPTER e FILE BROWSER em um código apenas! =)
Primeiro devemos criar nosso arquivo de layout contendo um ListView dentro de um LinearLayout apenas.
16 de novembro de 2011
Criando Adapter/File Browser - Android
Veja que iremos guardar em um List com generics de STRING (Lista apenas de String) os caminhos de todos os arquivos e pastas do SD CARD.
Já em nosso método getView() devemos montar nosso adapter! Para isto, devemos intanciar que iremos fazer um INFLATE em um arquivo xml de LAYOUT.
Em nosso código acima, instanciamos o nosso TextView que criamos no arquivo de layout que demos um INFLATE, depois modificamos seu texto para o nome do arquivo/pasta do SD CARD e em seguida avisamos ao ListView que ele precisa dar um refresh para carregar a nova VIEW utilizando o método notifyDataSetChanged().
PRONTO, TERMINAMOS NOSSO ADAPTER... Mas ainda falta criarmos nossa Activity que irá mostar para o usuário em um ListView todos os arquivos/pastas do SD CARD, correto? =)
Abraço.
Assinar:
Postar comentários (Atom)
Boa tarde colega
ResponderExcluirta dando 2 erros
1
mListaDeArquivos = new File[dir.length];
length cannot be resolved or is not a field
2
mDiretorios.add(file.length());
The method addAll(Collection) in the type List is not applicable for the arguments (long)
Opa, o nome correto é lenght ao invés de length!
ResponderExcluir