2521天 Mr.贰呆

唯一自信的就是自己的人品。
寻求王者玩家一起开黑净化峡谷环境​​

【Android】开发入门:AutoCompleteTextView控件使用方法

发布于 / 1294 次围观 / 0 条评论 / Android / 二呆 /

当我们在百度首页输入关键字时,是不是会弹出下拉提示框?这个方便了用户搜索习惯,当然安卓app也可以实现此功能,那android是如何开发的呢?其实也很简单,android中用到了AutoCompleteTextView控件,完美的实现在表单框中输入字符弹出关键字。具体有2种实现方法。
方法一:在Activity中实现自动弹出下拉提示框方法。
1、首先还是需要建立View视图。

<TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:layout_marginLeft="28dp"
        android:layout_marginTop="23dp"
        android:text="所属城市" />
    <AutoCompleteTextView
        android:id="@+id/auto"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBaseline="@+id/auto"
        android:layout_alignBottom="@+id/auto"
        android:layout_toRightOf="@+id/auto"
        android:ems="10"/>
2、创建实现自动弹出下拉提示框的Activity,并实现获取提示框内所需的数据列表函数getDataSource()。
private List<String> getDataSource() {
        List<String> list=new ArrayList<String>();
        list.add("Janpan");
        list.add("China");
        list.add("Albania");
        list.add("American");
        list.add("Anguilla");
        list.add("Antarctica");
        return list;
    }
3、在onCreate中设置监听器即可完成。
autoTextView=(AutoCompleteTextView)this.findViewById(R.id.auto);
adapter=new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, getDataSource());
autoTextView.setAdapter(adapter);

方法二:在XML中实现自动弹出下拉提示框方法。

1、方法二的第一步和方法一的第一步相同。(查看

2、在资源文件string.xml中创建下拉提示框所需的数据列表。

<string-array name="citys">
        <item>Janpan</item>
        <item>China</item>
        <item>Albania</item>
        <item>American</item>
        <item>Anguilla</item>
        <item>Antarctica</item>
    </string-array>
3、在onCreate中获取资源文件string.xml中的数据列表,如果是获取网络数据,需要用到json数据解析,并设置监听器即可完成。
String[] countries=getResources().getStringArray(R.array.citys);//引用资源文件string中的数据,如果获取网络数据,需要json数据解析
adapter=new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, countries);
autoTextView.setAdapter(adapter);


sitemap