[Android]自定义多选AutoComplete收信人控件

来源:互联网 发布:淘宝商家商品折扣 编辑:程序博客网 时间:2024/05/22 15:52

[Android]自定义多选AutoComplete收信人控件

@Author GQ 20160710日  项目中需要发送邮件,在github上找到一个填写邮件的控件,继承自MultiAutoCompleteTextView。我也按照步骤测了一下,挺强大,反正比原生的好用!

github项目地址

效果图

这里写图片描述

  • Android自定义多选AutoComplete收信人控件
    • github项目地址
    • 效果图
    • AndroidStudio使用
    • 使用

1. AndroidStudio使用

dependencies {    compile "com.splitwise:tokenautocomplete:2.0.7@aar"}

2. 使用

  • 部分java代码
  adapter = new ArrayAdapter<Person>(this, android.R.layout.simple_list_item_1, people);//       自定义过滤规则//        adapter = new FilteredArrayAdapter<Person>(this, android.R.layout.simple_list_item_1, people) {//            @Override//            protected boolean keepObject(Person obj, String mask) {//                mask = mask.toLowerCase();//                return obj.getName().toLowerCase().startsWith(mask) || obj.getEmail().toLowerCase().startsWith(mask);//            }//        };        completionView = (ContactsCompletionView) findViewById(R.id.searchView);        completionView.setAdapter(adapter);        completionView.setTokenListener(new TokenCompleteTextView.TokenListener<Person>() {            @Override            public void onTokenAdded(Person token) {                Toast.makeText(MainActivity.this, "Added: "+ token.getName(), Toast.LENGTH_SHORT).show();            }            @Override            public void onTokenRemoved(Person token) {                Toast.makeText(MainActivity.this, "Removed: " + token).getName(), Toast.LENGTH_SHORT).show();            }        });        //防止统一条数据添加多次        completionView.allowDuplicates(false);        //分割符        completionView.setSplitChar(new char[]{';', ';', ' '});        //一个字母开始联想        completionView.setThreshold(1);        //设置添加最大数量限制        completionView.setTokenLimit(3);
0 0