在Android中,Spinner本身不支持自動補全功能。要實現自動補全,你需要使用AutoCompleteTextView組件。以下是如何在Android中使用AutoCompleteTextView實現自動補全功能的步驟:
<AutoCompleteTextView
android:id="@+id/autoCompleteTextView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="請輸入關鍵字" />
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.AutoCompleteTextView;
import androidx.appcompat.app.AppCompatActivity;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
AutoCompleteTextView autoCompleteTextView = findViewById(R.id.autoCompleteTextView);
// 創建一個數組適配器
ArrayAdapter<String> adapter = new ArrayAdapter<>(this,
android.R.layout.simple_dropdown_item_1line, getData());
// 設置適配器
autoCompleteTextView.setAdapter(adapter);
// 設置自動補全監聽器
autoCompleteTextView.setOnItemClickListener((parent, view, position, id) -> {
String selectedItem = parent.getItemAtPosition(position).toString();
// 在這里處理用戶選擇的補全項
Toast.makeText(MainActivity.this, "選中的補全項: " + selectedItem, Toast.LENGTH_SHORT).show();
});
}
// 獲取補全數據
private String[] getData() {
return new String[]{"Apple", "Banana", "Cherry", "Grape", "Orange", "Peach", "Pineapple", "Strawberry"};
}
}
在這個示例中,我們創建了一個包含水果名稱的字符串數組作為補全數據。當用戶在AutoCompleteTextView中輸入時,將根據輸入的內容顯示匹配的補全建議。用戶可以選擇其中一個建議,也可以繼續輸入以獲取更多建議。