2017-11-28 3 views
1

Ich möchte eine ListView während der Eingabe in eine EditText (searchInput), die das erste Element der Liste ist, filtern. Wenn die Liste nach oben gescrollt wird, sollte der searchInput "verstecken" (nur weil er zusammen mit den anderen Zeilen hoch scrollt).Filter mit EditText in einem ListView

Ich habe ein Stück Code wie folgt aus:

searchInput.addTextChangedListener(new SimpleTextWatcher() { 
     @Override 
     public void afterTextChanged(Editable s) { 
      adapter.filter(s.toString()); 
     } 
    }); 

Das Problem ist, dass ich, wenn ich in die searchInput Eingabe beginnen und die Liste zu filtern beginnt, die searchInput den Fokus verliert. Ich schätze, das liegt daran, dass die Liste aktualisiert wird (und auch das searchInput, das sich darin befindet).

Ich weiß, dass ich eine Suchansicht in der Aktionsleiste platzieren kann. Ich hatte diese Komponente schon einmal, aber ich würde gerne zu diesem neuen Design wechseln.

Ich habe dieses Design in Instagram zum Beispiel verwendet. Ich frage mich, ob sie eine benutzerdefinierte Komponente erstellt haben oder ob sie einen Weg gefunden haben, dieses Problem zu lösen.

+0

try Recycler Ansicht statt – Darish

Antwort

1

Versuchen Sie dies mit auf ListView:

android:descendantFocusability="afterDescendants" 
+0

Yep es funktioniert, danke! –