当前位置: 首页 > 知识库问答 >
问题:

自动完成文本视图 - 选择后显示建议

丌官淇
2023-03-14

我正在使用AutoCompleteTextView进行地址建议。

我想做的是当用户输入地址(f. e.“Ma”)时,建议会显示为“Mary, Madley, Ma…”。

然后,当用户选择其中一个建议时,他会立即获得另一个包含整个地址的建议。

例如:他选择了“玛丽”,他得到了像“玛丽123,波士顿”、“玛丽1566,纽约”、“玛丽简569,纽约”这样的建议。

问题是建议填写了适配器,但没有显示。选择后下拉列表不显示。

到目前为止,我的文本观察器被分配到AutoCompleteTextView,负责建议:

TextWatcher textWatcher = new TextWatcher() {

    @Override
    public void onTextChanged(CharSequence s, int start, int before, int count) {
    }

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

    @Override
    public void afterTextChanged(Editable s) {

        if(etStreet.isPerformingCompletion())
            return;

        List<String> arrayValues = getValues();

        ArrayAdapter<String> adapter = new ArrayAdapter<String>(getApplicationContext(),
                android.R.layout.simple_dropdown_item_1line, arrayValues);
        etUlica.setAdapter(adapter);

    }
};

我尝试过在项目单击,文本更改和所有其他事件上调用 showDropDown(),但它不会显示。它仅在用户在键盘上键入时显示。

共有1个答案

罗光华
2023-03-14

在你的AutoCompleteTextView.setOnItemClickListener中写下下面的代码()

autoComplete.setOnItemClickListener(new OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
            autoComplete.postDelayed(new Runnable() {
                @Override
                public void run() {
                    autoComplete.showDropDown();
                }
            },100);
            autoComplete.setText(autoComplete.getText().toString());
            autoComplete.setSelection(autoComplete.getText().length());

        }
    });

就这样,它会像魅力一样工作!!!

这将为您的问题提供提示,根据您的需要和适配器数据进行更改

 类似资料:
  • 我有这样一个dialogfragment类: 在其布局xml文件中。xml它包含一个自动完成的文本视图。这是from的代码。xml文件 我使用以下代码在单击按钮时弹出对话框片段。所以我给出了这样的答案: 现在我需要创建一个自动完成文本视图的对象,它应该向我展示建议。我有一个数组列表,其中包含自动完成文本视图的数组适配器的数据,我这样编码(这里actv1是自动完成文本视图的对象): 但问题是我不知道

  • 我有一个来选择一个火车站,它使用两个不同的适配器: 适配器 1:包含最近和附近电台的固定列表(不需要软键盘即可通过键入进行筛选) 适配器 2:包含电台 sqlite 数据库的光标(确实需要软键盘通过键入进行过滤) 所以,我想阻止软键盘在自动完成文本视图获得焦点并使用ADAPTER 1时显示,但我还没有找到方法。 我目前正在使用它,但软键盘不断弹出:

  • 问题内容: 我有一个表格可以 浏览并选择一个文件。 我要做的是在选择图像后立即显示该图像。而且这是在按下表单上的“提交”按钮之前,因此图像几乎可以肯定位于客户端。能做到吗? 问题答案: 干得好: HTML 脚本:

  • 我试图得到一个自动完成列表弹出,使用此链接作为指导。 我得到的错误消息: w/filter:performFiltering()期间发生异常!java.lang.nullPointerException:collection==null at java.util.ArrayList.(arrayList.java:94)at android.widget.arrayAdapter$arrayFil

  • 我有一个ComboBox,我正在用Sheet对象值填充它。 我设置了一个单元格工厂,以便在下拉列表中显示工作表的名称。它工作正常(似乎如此)。 问题是,选择项目(“单元格”)后,框中显示的值不是列表中显示的值。 这是相关的代码部分: