首页 > 解决方案 > 可搜索微调器不搜索空间

问题描述

我在我的应用程序中使用了一个可搜索的微调器库。我使用的自定义库是

com.toptoche.searchablespinner:searchablespinnerlibrary:1.3.1

我正在从 API 获取微调器的值。我面临的问题是每当我在空格不起作用后搜索关键字时。例如,我的微调器中有这些数据

  1. 玻璃管
  2. 玻璃板
  3. 玻璃盘

如果我搜索“GLASS”,就会出现三个数据。但是每当我搜索“GLASS PIPE”时,都不会出现任何结果。帮我解决这个问题。

我的代码将数据绑定到微调器

         ArrayList<String> employeeNames = new ArrayList<String>();
            ArrayAdapter<String> dataAdapter = new ArrayAdapter<String>(InsertRequisition.this, R.layout.item_spinner_black, employeeNames);
            dataAdapter.setDropDownViewResource(R.layout.item_spinner);
            employeeSpinner =(Spinner)findViewById(R.id.employee_name_value);

            for (int i=0;i<common.dataArrayList.size();i++){
               String[] data = new String[3];

                data[0]=common.dataArrayList.get(i)[0];
                data[1]=common.dataArrayList.get(i)[1];
                data[2]=common.dataArrayList.get(i)[2];

                employeeList.add(data);
            }
            for(int i=0;i<employeeList.size();i++){
                employeeNames.add(employeeList.get(i)[1]+" - "+employeeList.get(i)[2]);
            }
            employeeSpinner.setAdapter(dataAdapter);

            dataAdapter.setDropDownViewResource(R.layout.item_spinner);

        }

我的微调器代码

<com.toptoche.searchablespinnerlibrary.SearchableSpinner
        android:id="@+id/company_name_value"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />

标签: androidandroid-spinner

解决方案


检查 AutoCompleteTextView 的以下代码

    autoCompleteTextView=findViewById(R.id.autoCompleteTextViewID);
    employeeNames  = new ArrayList<String>();

    // getdata & store in dataList

    dataAdapter = new ArrayAdapter<String>(getApplicationContext(), android.R.layout.simple_spinner_item, employeeNames );
    dataAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    autoCompleteTextView.setThreshold(1);
    autoCompleteTextView.setAdapter(dataAdapter);

    autoCompleteTextView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> parent, View view, int position, long id) {

            String selectedStr  = parent.getItemAtPosition(position).toString();

        }
    });

推荐阅读