Jump to content

Problema ao Popular AutoCompleteTextView Android


Psycop

Recommended Posts

Olá

Estou a tentar implementar um autocomplete para uma pesquisa populada por uma base de dados Sqlite.

Criei um metodo para devolver um ArrayList dos dados que quero usar no autocomplete que é o seguinte:

//Get Concelhos to Search Autocomplete
public ArrayList<String> getListConcelhos() {
    ArrayList<String> listaConcelhos = new ArrayList<>();

    dbase = this.getReadableDatabase();

    Cursor cursor = dbase.rawQuery("SELECT DISTINCT CONCELHO FROM " + TABLE_NAME, null);
    //cursor.moveToFirst();

    while (cursor.moveToNext()) {
        String value = cursor.getString(
                cursor.getColumnIndex("CONCELHO"));

        listaConcelhos.add(value);
    }


    return listaConcelhos;

}

E então na activity chamar usando isto:

dbHelper = new DbHelper(this);
listaConcelhos = dbHelper.getListConcelhos();

String[] arrayConcelhos = listaConcelhos.toArray(new String[listaConcelhos.size()]);

text=(AutoCompleteTextView)findViewById(R.id.autoCompleteTextView1);
ArrayAdapter adapter = new
		ArrayAdapter(this,android.R.layout.simple_list_item_1,arrayConcelhos);
text.setAdapter(adapter);
text.setThreshold(1);

No entanto isto não funciona, pois ao correr o autocomplete não retorna a dropdownlist com as opções...

Usei um Log para verificar se o método estaria a retornar correctamente os dados e efectivamente o Log retorna a lista de concelhos.

Log.e("LOG: ", listaConcelhos.toString());

No entanto se eu usar uma string estática, o AutoCompleteTextView é populado:

String[] concelhos = {"Concelho 1", "Concelho2"};

text=(AutoCompleteTextView)findViewById(R.id.autoCompleteTextView1);
ArrayAdapter adapter = new
		ArrayAdapter(this,android.R.layout.simple_list_item_1,concelhos);
text.setAdapter(adapter);
text.setThreshold(1);

Desta forma funciona correctamente.

Alguém me pode ajudar a perceber o que estarei a fazer de mal?

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.