要實現在Android選擇框中進行搜索過濾,可以使用AutoCompleteTextView控件來實現。下面是一個簡單的示例代碼來實現這個功能:
<AutoCompleteTextView
android:id="@+id/autoCompleteTextView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Search"
android:inputType="text"/>
AutoCompleteTextView autoCompleteTextView = findViewById(R.id.autoCompleteTextView);
ArrayAdapter<String> adapter = new ArrayAdapter<>(this, android.R.layout.simple_dropdown_item_1line, yourDataArray);
autoCompleteTextView.setAdapter(adapter);
autoCompleteTextView.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
adapter.getFilter().filter(s);
}
@Override
public void afterTextChanged(Editable s) {
}
});
在上面的代碼中,yourDataArray是一個包含所有選項的數據數組,adapter.getFilter().filter(s)會根據用戶輸入的文本過濾數據并顯示匹配的選項。用戶輸入的文本會觸發TextWatcher接口中的onTextChanged方法,從而實現實時搜索過濾功能。