Cerco ulteriori conferme a ciò.
Ecco: Io inserisco nella classe che estende CursorAdapter il metodo runQueryOnBackGroundThread e non ottengo più i suggerimenti della AutoCompleteTextView:
class Adapter extends CursorAdapter{
public Adapter(Context context, Cursor c) {
super(context, c);
}
@Override
public View newView(Context context, Cursor cursor, ViewGroup parent) {
LayoutInflater inflater=(LayoutInflater)context.getSystemService(LAYOUT_INFLATER_SERVICE);
TextView v=(TextView)inflater.inflate(android.R.layout.simple_dropdown_item_1line, parent,false);
return v;
}
@Override
public void bindView(View view, Context context, Cursor cursor) {
((TextView)view).setText(cursor.getString(0));
}
@Override
public Cursor runQueryOnBackgroundThread(CharSequence constraint){
return null;
}
}
E...Adesso la tolgo:
class Adapter extends CursorAdapter{
public Adapter(Context context, Cursor c) {
super(context, c);
}
@Override
public View newView(Context context, Cursor cursor, ViewGroup parent) {
LayoutInflater inflater=(LayoutInflater)context.getSystemService(LAYOUT_INFLATER_SERVICE);
TextView v=(TextView)inflater.inflate(android.R.layout.simple_dropdown_item_1line, parent,false);
return v;
}
@Override
public void bindView(View view, Context context, Cursor cursor) {
((TextView)view).setText(cursor.getString(0));
}
/*@Override
public Cursor runQueryOnBackgroundThread(CharSequence constraint){
return null;
}*/
}
e...Dunque la chiave è in questo metodo: bisogna riempirlo in modo tale che espanda i suggerimenti in modo filtrato.
E come?
Basta! Sono arrivato a capire che c'è un metodo che viene chiamato quando cambia il testo e prende come parametro la stringa presente nella AutoComplete, ma poi come faccia a selezionare i records del database in base a questo, non lo so.
Ulteriori tentativi in seguito. Meglio allentare, per il momento.
Nessun commento:
Posta un commento