2009-11-25 4 views
0

Voici mon scénario: J'ai une base de données, où 2 colonnes sont intéressantes pour moi. J'ai maintenant créé un autocompletetextview où l'adaptateur gehts via SQL les entrées d'une colonne. Jusqu'ici ... tout va bien, mais ce que je veux vraiment, c'est que si l'utilisateur tape sth. dans l'autocompletefield je remarque ceci et récupère le texte. Via SQL, je veux maintenant obtenir everey Entrée de colonne 2 où la valeur de la colonne 1 est contenue dans le texte entré. Et cette liste devrait être affichée dans l'adaptateur. En d'autres termes, je filtre les données moi-même via sql mais je veux qu'elles soient affichées dans l'adaptateur. Le problème est Le problème est, que l'adaptateur n'affiche que les entrées qui commencent par le texte dans le champ de saisie semi-automatique, mais je veux montrer l'adaptateur à tout moment: Je filtre les données moi-même Je veux juste que l'adaptateur les affiche. Une idée pour résoudre ce problème? L'AutocompleteTextView est-il le bon élément à utiliser? J'ai également pensé à utiliser un simple Spinner ... mais quand on utilise un spinner, il y a deux problèmes principaux. Je devrais d'abord le rendre éditable. et en second j'aurais besoin d'une liste déroulante au lieu du "popup". Une autre idée à moi pour résoudre ce problème est d'écrire un propre filtre pour le champ de saisie semi-automatique ... mais je n'ai jamais été aussi loin et je n'ai pas trouvé d'exemples sur Internet pour fais-le.Android Autocompletetextview et spinner modifiable

Merci pour votre aide

Répondre

1

j'ai changé la méthode ArrayAdapter de spinner et je me suis mon habitude Spinner. changer juste le paramètre de cette méthode comme

Spinner spinner = (Spinner) findViewById(R.id.Spinner01); 
ArrayAdapter<CharSequence> adapter=ArrayAdapter.createFromResource(This,R.array.statename,R.layout.mylayout); 
spinner.setAdapter(adp); 

dans lequel le fichier mylayout contient

<EditText 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
android:id="@+id/spinnerTarget" 
android:textColor="#FF8B1500" 
android:gravity="center" 
> 
1

Vous pouvez utiliser autocompleteTextView et définir son adaptateur à vos valeurs de SQLite ou de chaîne tableau comme indiqué ci-dessous:

String values[]= {"Orange","Apple","Pineapple"}; 
AutoCompleteTextView text=(AutoCompleteTextView)findViewById(R.id.a1); 
text.setAdapter(new ArrayAdapter<String>  
    (this,android.R.layout.simple_dropdown_item_1line,values)); 

pour plus d'informations aller à developers site

Questions connexes