在 Android 中,要實(shí)現(xiàn)下拉框(Spinner)控件的搜索功能,可以使用 AutoCompleteTextView 和 ArrayAdapter 結(jié)合的方式。以下是具體的實(shí)現(xiàn)步驟:
<AutoCompleteTextView
android:id="@+id/autoCompleteTextView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="請(qǐng)輸入關(guān)鍵字" />
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.AutoCompleteTextView;
import androidx.appcompat.app.AppCompatActivity;
public class MainActivity extends AppCompatActivity {
private AutoCompleteTextView autoCompleteTextView;
private String[] data = {"選項(xiàng)1", "選項(xiàng)2", "選項(xiàng)3", "選項(xiàng)4", "選項(xiàng)5"};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
autoCompleteTextView = findViewById(R.id.autoCompleteTextView);
// 使用 ArrayAdapter 設(shè)置自動(dòng)完成的數(shù)據(jù)源
ArrayAdapter<String> adapter = new ArrayAdapter<>(this,
android.R.layout.simple_dropdown_item_1line, data);
autoCompleteTextView.setAdapter(adapter);
}
}
這樣,當(dāng)用戶在 AutoCompleteTextView 中輸入關(guān)鍵字時(shí),會(huì)自動(dòng)顯示與關(guān)鍵字匹配的下拉框選項(xiàng)。用戶可以從下拉列表中選擇一個(gè)選項(xiàng),也可以繼續(xù)輸入以縮小搜索范圍。
注意:在實(shí)際應(yīng)用中,你可能需要從服務(wù)器獲取數(shù)據(jù),而不是使用靜態(tài)數(shù)組。在這種情況下,你需要根據(jù)實(shí)際需求修改適配器的數(shù)據(jù)源。