2009-11-25 53 views
0

这是我的场景:我有一个数据库,其中2列对我来说很有趣。我现在创建了一个autocompletetextview,其中适配器通过SQL创建一列的条目。Android自动完成文本视图和可编辑微调

到目前为止...很好,但我真正想要的是,如果用户键入某物。进入autocompletefield我注意到这一点,并获取文本。通过SQL我现在想要得到everey条目第2列其中列1的值包含在输入的文本中。此列表应显示在适配器中。换句话说,我通过sql自己过滤数据,但我希望它们在适配器中显示。 问题是,该适配器只显示以自动填充字段中的文本开头的条目,但我希望随时显示适配器,因为已经开始了:我自己过滤数据我只想让适配器显示它们。 任何想法如何解决这个问题? AutocompleteTextView是正确的项目吗?

我也想过使用一个简单的微调器......但是当使用微调器时有两个主要问题。首先我必须让他可编辑。第二我需要一个下拉菜单而不是“弹出”。 ...

解决此问题的另一个想法是为自动填充字段编写一个自己的过滤器......但我从来没有下过这么远,我也找不到任何例子在互联网上这样做。

感谢您的帮助

回答

1

我改变了微调的一个ArrayAdapter方法我得到了我的自定义微调。 只是改变了该方法的参数一样

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" 
> 
1

您可以使用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)); 

关于它的更多信息请访问developers site