Android自动补全提示

自动补全提示最主要的是使用AutoCompleteTextView控件,继而从与控件关联的ArrayAdapter提供的字符串集合得到提示。

    先上图

 

wKioL1RnicvDHL1GAABrTtytVXk343.jpg

 

AutoCompleteTextViewActivity.java代码如下:

public class AutoCompleteTextViewActivity extends Activity {
       @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.autocomplete);
            setTitle("AutoCompleteTextView_Activity");
            ArrayAdapter<String> adapter = new ArrayAdapter<String>(
                this,
                android.R.layout.simple_dropdown_item_1line,
                COUNTRIES);//第3个参数为提供数据的数组名
            AutoCompleteTextView autotextView = (AutoCompleteTextView) findViewById(R.id.auto_complete);
            autotextView.setAdapter(adapter);//将adapter适配器添加到auto..对象中
            autotextView.setThreshold(1);//设置输入几个字母开始关联,默认是2
        }
    static final String[] COUNTRIES = new String[] {    //设置数据源
        "China" ,"Russia", "Germany","Ukraine", "Belarus",
        "USA" ,"China1" ,"China12", "Germany1",
        "Russia2", "Belarus1", "USA1" 
        };
}

 layout中XML文件如下:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical"
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content">
 
   <AutoCompleteTextView android:id="@+id/auto_complete"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"/>
</LinearLayout>

 当然,为了以后修改数据源及代码的方便,建议将数据添加到在layout下的strings.xml文件中去

<?xml version="1.0" encoding="utf-8"?>  
<resources>  
    <string-array name="countries_array">  
        <item>China</item>  
        <item>China1</item>  
        <item>China12</item>                 
    </string-array>  
</resources>

 再将原先的数据源修改为如下即可

String[] COUNTRIES = getResources().getStringArray(R.array.countries_array);

 

 

欢迎大家访问我的个人网站 萌萌的IT人
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值