91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

android spinner如何實現搜索功能

小樊
107
2024-06-26 18:40:56
欄目: 編程語言

要在Android Spinner中實現搜索功能,可以通過以下幾個步驟:

  1. 創建一個EditText控件用于用戶輸入搜索關鍵字。
  2. 創建一個Adapter用于展示Spinner中的數據。
  3. 在Adapter的getFilter()方法中實現搜索功能,根據用戶輸入的關鍵字過濾數據。
  4. 監聽EditText的文本變化事件,根據用戶輸入的關鍵字調用Adapter的getFilter()方法進行數據過濾,并更新Spinner的數據展示。

以下是一個簡單的示例代碼:

public class MainActivity extends AppCompatActivity {

    private Spinner mSpinner;
    private EditText mEditText;
    private ArrayAdapter<String> mAdapter;

    private List<String> mDataList;
    private List<String> mFilteredDataList;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        mSpinner = findViewById(R.id.spinner);
        mEditText = findViewById(R.id.editText);

        mDataList = Arrays.asList(getResources().getStringArray(R.array.data_list));
        mFilteredDataList = new ArrayList<>(mDataList);

        mAdapter = new ArrayAdapter<>(this, android.R.layout.simple_spinner_item, mFilteredDataList);
        mSpinner.setAdapter(mAdapter);

        mEditText.addTextChangedListener(new TextWatcher() {
            @Override
            public void onTextChanged(CharSequence s, int start, int before, int count) {
                String filterKeyword = s.toString().toLowerCase();
                mFilteredDataList.clear();
                for (String data : mDataList) {
                    if (data.toLowerCase().contains(filterKeyword)) {
                        mFilteredDataList.add(data);
                    }
                }
                mAdapter.notifyDataSetChanged();
            }

            @Override
            public void beforeTextChanged(CharSequence s, int start, int count, int after) {
            }

            @Override
            public void afterTextChanged(Editable s) {
            }
        });
    }
}

在這個示例中,我們創建了一個Spinner和一個EditText,通過監聽EditText的文本變化事件,在Adapter中實現數據過濾功能,通過更新Adapter的數據展示來實現Spinner的搜索功能。

0
灵璧县| 珲春市| 老河口市| 故城县| 永吉县| 扬中市| 和顺县| 兴业县| 忻州市| 宣汉县| 天镇县| 绩溪县| 夹江县| 青龙| 曲沃县| 小金县| 彭泽县| 社旗县| 友谊县| 车险| 江阴市| 当涂县| 竹溪县| 十堰市| 扶绥县| 汤阴县| 洞口县| 莱芜市| 金川县| 伊川县| 朝阳区| 科尔| 株洲县| 通道| 宜宾市| 顺义区| 江孜县| 阳高县| 建始县| 巴青县| 绥棱县|