Boas, gostava de adicionar um "adapter" a um AutoCompleteTextView. Este adapter consistia na lista de contactos do android.Já consegui fazer isto, em que aparecem os contactos todos desordenados, mas no final é retornado um código marado.Penso que não estou a ir pelo caminho certo. [code type=javascript] final Cursor c = managedQuery(People.CONTENT_URI, null, null, null, null); String[] from = new String[] {People.NAME}; int[] to = new int[] { R.id.text_view }; SimpleCursorAdapter adapter = new SimpleCursorAdapter(this,R.layout.contactlist,c,from,to); AutoCompleteTextView number = (AutoCompleteTextView) findViewById(R.id.number); number.setAdapter(adapter); [/code]O que pretendia era fazer basicamente o mesmo que faz o AutoComplete da EditBox da aplicação das mensagens. (ver anexo)[attachment=3901]device.png[/attachment]Alguém sabe ou pode ajudar-me a fazer isto?Obrigado
Adicionar "adapter" de contactos a AutoCompleteTextView
Iniciado por
rah.santos
, Aug 11 2011 16:03
2 respostas a este tópico
#1
Mensagem publicada 11 August 2011 - 16:03
#2
Mensagem publicada 12 August 2011 - 16:32
Define "Código Marado" :)Assim de repente parece-me bem (embora nunca tenha usado). O não aparecer ordenado provavelmente tem a ver com um daqueles "nulls" que passas à ManagedQuery
#3
Mensagem publicada 17 August 2011 - 22:19
Depois de umas pesquisas na net, resolvi implementar um CustomContactListAdapter e estende-lo de SimpleListAdapter.O problema ficou resolvido, mas agora o que acontece é que a AutoComplete só devolve o contacto se este estiver como predefinido na lista de contactos, caso contrário devolve null.O método que faz retornar o número para a AutoCompleteTextView é o seguinte:
@Override public String convertToString(Cursor c) { String number = c.getString(c.getColumnIndexOrThrow(People.NUMBER)); if (number == null) { return ""; } return number; }Será possível aceder números mesmo se estes não estiverem como predefinidos?Fica ai o link para download do projecto, para quem estiver interessado.SourceCode do ProjectoCumps.