这是我的场景:我有一个数据库,其中有两列对我来说很有趣。我现在创建了一个自动完成文本视图,其中适配器通过 SQL 获取一列的条目。

迄今为止...很好,但我真正想要的是,如果用户输入某事。在自动完成字段中,我注意到这一点并获取文本。通过 SQL 我现在想要获取每个条目 第2栏 其中第 1 列的值包含在输入的文本中。这个列表应该显示在适配器中。换句话说,我自己通过 sql 过滤数据,但我希望它们显示在适配器中。问题是, ,适配器仅显示以自动完成字段中的文本开头的条目,但我想随时显示适配器,如前所述:我自己过滤数据,我只想让适配器显示它们。有什么想法如何解决这个问题吗?AutocompleteTextView 是正确的使用项目吗?

我还考虑过使用一个简单的 Spinner...但使用旋转器时有两个主要问题。首先我必须让他可编辑。其次,我需要一个下拉菜单而不是“弹出窗口”。...

我解决这个问题的另一个想法是为自动完成字段编写一个自己的过滤器......但到目前为止我从来没有这样做过,而且我在互联网上也找不到任何这样做的例子。

感谢您的帮助

有帮助吗?

解决方案

我更改了Spinner的阵列Adadapter方法,并得到了自定义旋转器。只需更改此方法的参数

 Spinner spinner = (Spinner) findViewById(R.id.Spinner01);
 ArrayAdapter<CharSequence>   adapter=ArrayAdapter.createFromResource(This,R.array.statename,R.layout.mylayout);
 spinner.setAdapter(adp);

mylayout文件包含的

<EditText 
 android:layout_width="fill_parent"
 android:layout_height="fill_parent"
 android:id="@+id/spinnerTarget"
 android:textColor="#FF8B1500"
 android:gravity="center"
>

其他提示

您可以使用 autocompleteTextView 并将其适配器设置为来自 SQLite 或字符串数​​组的值,如下所示:

String values[]= {"Orange","Apple","Pineapple"};
AutoCompleteTextView text=(AutoCompleteTextView)findViewById(R.id.a1);
text.setAdapter(new ArrayAdapter<String>    
    (this,android.R.layout.simple_dropdown_item_1line,values));

欲了解更多信息,请访问 开发商网站

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top