Saltar para conteúdo


Foto
- - - - -

Search Dialog


  • Por favor inicie sessão para responder
5 respostas a este tópico

#1 pedromcosta

pedromcosta

    Membro

  • Membros
  • PipPip
  • 34 mensagens

Mensagem publicada 24 February 2011 - 10:39

Bom dia,Eu não sei se fui só eu que já tive esta dúvida mas eu fiz uma procura rápida e não encontrei nada relativo a isto..Mas é o seguinte: eu estou a desenvolver uma aplicação em que vou carregar dados de uma base de dados e vai mostra-los numa listview.. até aí tudo bem, mas a minha dúvida é qual a melhor maneira de procurar dados dentro da listview ?Porque eu não sei quantos registos vou ter, mas por exemplo se tiver 100/1000/2000 registos eu não vou querer fazer scroll à procura de um registo.. eu vou querer fazer uma procura pelo P e só aparecerem os registos começados por P.Eu estive a ver, e da pouca documentação que encontrei eu vi no android.developer um tutorial sobre a search dialog:http://developer.android.com/guide/topi ... ialog.htmlMas eu achei um bocado confuso, até porque o que eu queria mesmo era só mesmo procurar dentro dos resultados da listview que já estão listados. Não quero ir à base de dados procurar registos como eles explicam.Alguém já usou este método ou me possa aconselhar a melhor maneira ?Em alternativa tenho este exemplo (http://www.androidpe....com/android-li ... ort-items/) que já tentei implementar e acabei por não conseguir, mas se calhar é o que estou a pensar usar.Obrigado,Pedro Costa

#2 r3pek

r3pek

    Guru de Android

  • Former Staff
  • PipPipPipPipPip
  • 1560 mensagens
  • LocalizaçãoBA4 - Terceira - Açores
  • Nexus One + Motorola XOOM

Mensagem publicada 24 February 2011 - 10:45

As ListView's têm um mecanismo de filtragem já embutido, tem é que ser activado pelo programador..setTextFilterEnabled(true);^^ Se fizeres aqui, e depois quando estás a ver a lista no terminal, fazes long-press na tecla Menu para abrires o teclado e é só escreveres o que queres procurar que ela filtra automáticamente.

#3 pedromcosta

pedromcosta

    Membro

  • Membros
  • PipPip
  • 34 mensagens

Mensagem publicada 24 February 2011 - 11:42

r3pek,Era mesmo isto que eu precisava.. nem sabes como me ajudas-te :laugh:Obrigadíssimo ! Poupaste-me dias de pesquisa.. já estava a ver a minha vida a andar para trásMas tira-me só esta dúvida: no emulador tenho o teclado ao lado e realmente funciona, mas se eu fizer long press no menu não abre o teclado..É preciso activar alguma propriedade ? É que eu já tenho uma menúAh e mais uma vez obrigado (sem querer ser chato :laugh: )

#4 r3pek

r3pek

    Guru de Android

  • Former Staff
  • PipPipPipPipPip
  • 1560 mensagens
  • LocalizaçãoBA4 - Terceira - Açores
  • Nexus One + Motorola XOOM

Mensagem publicada 24 February 2011 - 12:21

Não, não é preciso activar nada. No emulador nunca testei mas calculo que não funcione por causa de ter teclado "fisico". Mas uso numa app minha (GuiaTV) e nos terminais (pelo menos sem teclado fisico) funciona.

#5 pedromcosta

pedromcosta

    Membro

  • Membros
  • PipPip
  • 34 mensagens

Mensagem publicada 24 February 2011 - 15:06

mas então na tua aplicação como é que fazes as pesquisas ? o telemóvel é touch, ou seja não há teclado físico. Se tu não o chamares não há possibilidade de fazeres a pesquisa dentro da listview, percebes onde quero chegar ?Nas edit texts por exemplo ele abre o teclado quando clicas em cima.. mas neste caso em concreto ele abre a listview e caso não escrevas nada ele não faz pesquisa nenhuma.

#6 r3pek

r3pek

    Guru de Android

  • Former Staff
  • PipPipPipPipPip
  • 1560 mensagens
  • LocalizaçãoBA4 - Terceira - Açores
  • Nexus One + Motorola XOOM

Mensagem publicada 24 February 2011 - 15:15

Long-press no botão "menu".