【问题标题】:Android Autocompletetextview and editable spinnerAndroid Autocompletetextview 和可编辑微调器
【发布时间】:2010-12-20 09:01:37
【问题描述】:

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

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

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

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

感谢您的帮助

【问题讨论】:

    标签: android sqlite autocompletetextview


    【解决方案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

    【讨论】:

      【解决方案2】:

      我更改了微调器的 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"
      >
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-11-25
        • 2016-06-02
        • 1970-01-01
        相关资源
        最近更新 更多