java - Android AutoCompleteTextView 弹出窗口在显示后移动

标签 java android xml android-studio

当我使用 autocompletetextview 时,一切正常,除了它不断在两个位置之间切换:正确的位置在 textview 的正下方,并且低得多。它开始错误,但几乎立即移动到正确的位置。然而,这在打字或退格时非常烦人,因为它发生在每个字母上。我正在使用安卓工作室。

看起来好像有两个事件同时试图决定布局。有时它会停留在一个位置或另一个位置。

**我使用自定义适配器减慢了过滤过程,看起来当输入文本时它会移动到不正确的位置,然后当过滤完成后它会移回正确的位置。

不正确

Incorrect

正确:

Correct

java(在 OnCreate() 中)-

String[] drugs = new String[]{"Nexium","Amoxicillin","LEVOCETIRIZINE DIHYDROCHLORIDE", "Advil", "Advair Diskus", "Daraprim"};

    AutoCompleteTextView drugNameAutoComplete = ((AutoCompleteTextView) findViewById(R.id.drugNameEditText));
    drugNameAutoComplete.setAnimation(null);
    ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,android.R.layout.simple_dropdown_item_1line,drugs);
    drugNameAutoComplete.setAdapter(adapter);

以及布局代码-

<AutoCompleteTextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/drugNameEditText"
            android:enabled="true"
            android:singleLine="true"
            android:layout_below="@+id/lookingForView"
            android:layout_alignParentLeft="true"
            android:layout_alignParentStart="true"
            android:layout_alignParentRight="true"
            android:layout_alignParentEnd="true"
            android:dropDownVerticalOffset="50dp"
            android:hint="@string/drug_name" />

如果我删除 dropDownVeticalOffset,我会在正确值和这个值之间闪烁 -

enter image description here

最佳答案

要更改此位置,请使用 dropDownAnchor 属性并引用另一个 View ID。 (在自动完成下查看)

android:dropDownAnchor

将自动完成下拉列表锚定到的 View 。如果未指定,则使用 TextView 本身。

你有很多下拉属性..

你最好使用实现过滤器来自动完成适配器并从自动完成的 OnQueryTextListener 传递输入的文本,并通过调用 adapter.getitem 设置选定的文本。

关于java - Android AutoCompleteTextView 弹出窗口在显示后移动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35385382/

相关文章:

java - 如何将运行无限循环的线程限制为1个核心?

java - @Autowired 在内部类中不起作用

java - 如何将图像放入 GoogleMaps api fragment 中

android - 如何在 facebook 墙上发布最高分 (android + facebook)

android - react native 链接 Realm 失败

android - Android 8中使用Shape Drawable设置Button的背景颜色和边框颜色

Java不能做声明?

java - 如何在Canvas中绘制图标或类似内容?

Java程序: curl ifconfig.我

android - 如何在 SwipeRefreshLayout 中添加多个 View ,其中一个是 recyclerview?