在Android中,Spinner本身不支持自動(dòng)補(bǔ)全功能。要實(shí)現(xiàn)自動(dòng)補(bǔ)全,你需要使用AutoCompleteTextView組件。以下是如何在Android中使用AutoCompleteTextView實(shí)現(xiàn)自動(dòng)補(bǔ)全功能的步驟:
<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 {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
AutoCompleteTextView autoCompleteTextView = findViewById(R.id.autoCompleteTextView);
// 創(chuàng)建一個(gè)數(shù)組適配器
ArrayAdapter<String> adapter = new ArrayAdapter<>(this,
android.R.layout.simple_dropdown_item_1line, getData());
// 設(shè)置適配器
autoCompleteTextView.setAdapter(adapter);
// 設(shè)置自動(dòng)補(bǔ)全監(jiān)聽(tīng)器
autoCompleteTextView.setOnItemClickListener((parent, view, position, id) -> {
String selectedItem = parent.getItemAtPosition(position).toString();
// 在這里處理用戶選擇的補(bǔ)全項(xiàng)
Toast.makeText(MainActivity.this, "選中的補(bǔ)全項(xiàng): " + selectedItem, Toast.LENGTH_SHORT).show();
});
}
// 獲取補(bǔ)全數(shù)據(jù)
private String[] getData() {
return new String[]{"Apple", "Banana", "Cherry", "Grape", "Orange", "Peach", "Pineapple", "Strawberry"};
}
}
在這個(gè)示例中,我們創(chuàng)建了一個(gè)包含水果名稱(chēng)的字符串?dāng)?shù)組作為補(bǔ)全數(shù)據(jù)。當(dāng)用戶在AutoCompleteTextView中輸入時(shí),將根據(jù)輸入的內(nèi)容顯示匹配的補(bǔ)全建議。用戶可以選擇其中一個(gè)建議,也可以繼續(xù)輸入以獲取更多建議。