首页 > 解决方案 > 如何使用 autoCompleteTextView 作为下拉列表,如 Spinner?

问题描述

当我制作一个下拉列表时,我使用微调器制作它,但由于它缺少许多选项,而且我不想经历制作自定义列表的麻烦,我选择了autoCompleteTextView从材质库中继承材质样式的一个下拉列表。

这是我的代码:

   adaptor_tool.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    toolNo.setAdapter(adaptor_tool);
    toolNo.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
        @Override
        public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
            Toast.makeText(toolSettings.this, ""+position, Toast.LENGTH_SHORT).show();
            configurations.setToolNo(toolNo.getSelectedItemPosition());
            if(configurations.setToolNo(position+1) == 0)
            {
                Toast.makeText(toolSettings.this, "Invalid tool number\n setting to default tool 1", Toast.LENGTH_SHORT).show();
            }

        }

        @Override
        public void onNothingSelected(AdapterView<?> parent) {

        }
    });

这是我使用 Spinner 的时候。现在这是我使用 autoCompleteTextView 的时候:

autotxt.setAdapter(adaptor_tool);
    autotxt.addTextChangedListener(new TextWatcher() {
        @Override
        public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {

        }

        @Override
        public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {

            for (String string : toolNum)
                if (string.toLowerCase().equals(charSequence.toString().toLowerCase())) {
                    int pos = toolNum.indexOf(string);
                    configurations.setToolNo(?);
                }

        }

        @Override
        public void afterTextChanged(Editable editable) {

        }
    });

我在 (?) 的位置写什么,就像我如何configurations.setToolNo(-------)在给定位置为方法提供项目一样?

我尝试使用,onItemClickListner但它不起作用,并且autoCompleteTextView无法使用getSelectedItemPosition(). 我希望该项目位于所选位置。

标签: androiddrop-down-menuspinnerautocompletetextview

解决方案


推荐阅读