Frage

Hier ist mein Szenario: Ich habe eine Datenbank, in der 2 Spalten für mich interessant sind. Ich habe jetzt eine AutoCompletETETEXTView erstellt, bei der der Adapter BEHTS über SQL die Einträge einer Spalte.

Soweit ... so gut, aber was ich eigentlich will ist, dass, wenn der Benutzer sth tippt. In das AutoCompletefield bemerke ich dies und hole den Text. Via SQL möchte ich jetzt Everey -Einstieg bekommen Spalte 2 wobei der Wert von Spalte 1 im eingegebenen Text enthalten ist. Und diese Liste sollte im Adapter angezeigt werden. Mit anderen Worten, ich filtere die Daten selbst über SQL, aber ich möchte, dass sie im Adapter angezeigt werden.Das Problem ist, dass der Adapter nur die Einträge anzeigt, die mit dem Text im AutoCompletefield beginnen, aber ich möchte den Adapter jederzeit anzeigen, wie bereits Saied: Ich filtere die Daten selbst Ich möchte nur, dass der Adapter sie anzeigt. Irgendwelche ideo wie kann ich das lösen? Ist das AutoCompletEtextView das richtige Element?

Ich habe auch darüber nachgedacht, einen einfachen Spinner zu verwenden ... aber wenn ich einen Spinner benutze, gibt es 2 Hauptprobleme. Zuerst müsste ich ihn bearbeitbar machen. Und zweitens würde ich einen Dropdown anstelle des "Popups" brauchen. ...

Eine andere Idee von mir, dieses Problem zu lösen, besteht darin, einen eigenen Filter für das automatische Vervollständigungsfeld zu schreiben ... aber ich habe dies bisher noch nie niedergeschlagen und konnte auch keine Beispiele im Internet finden, um dies zu tun.

Vielen Dank für Ihre Hilfe

War es hilfreich?

Lösung

Ich habe die Arrayadapter -Methode von Spinner geändert und meinen benutzerdefinierten Spinner bekommen. Ändern Sie einfach den Parameter dieser Methode wie

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

In der die MyLayout -Datei enthält

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

Andere Tipps

Sie können AutoCompletETEXTView verwenden und seinen Adapter auf Ihre Werte von SQLite oder aus String -Array festlegen, wie unten gezeigt:

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));

Weitere Informationen dazu finden Sie unter Entwickler Site

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top