android开发中为MultiAutoCompleteTextView控件添加其他分隔符
android开发中为MultiAutoCompleteTextView控件添加其他分隔符,例如:分隔符改为分号“;”
zs;ls;ww;xm
//SemicolonTokenizer类
package com.example.android07;import android.text.SpannableString;
import android.text.Spanned;
import android.text.TextUtils;
import android.widget.MultiAutoCompleteTextView;public class SemicolonTokenizer implements MultiAutoCompleteTextView.Tokenizer {private char charS;private String mSTring;public SemicolonTokenizer(char charS) {this.charS = charS;mSTring = String.valueOf(charS);}public int findTokenStart(CharSequence text, int cursor) {int i = cursor;while (i > 0 && text.charAt(i - 1) != charS) {i--;}while (i < cursor && text.charAt(i) == ' ') {i++;}return i;}public int findTokenEnd(CharSequence text, int cursor) {int i = cursor;int len = text.length();while (i < len) {if (text.charAt(i) == charS) {return i;} else {i++;}}return len;}public CharSequence terminateToken(CharSequence text) {int i = text.length();while (i > 0 && text.charAt(i - 1) == ' ') {i--;}if (i > 0 && text.charAt(i - 1) == charS) {return text;} else {if (text instanceof Spanned) {SpannableString sp = new SpannableString(text + mSTring);TextUtils.copySpansFrom((Spanned) text, 0, text.length(), Object.class, sp, 0);return sp;} else {return text + mSTring;}}}
}
//MainActivity
private MultiAutoCompleteTextView main_actv;private String[] data4;//数据源private ArrayAdapter adapter4;//适配器main_actv = this.findViewById(R.id.main_actv);MultiAutoCompleteTextView.Tokenizer t = new MultiAutoCompleteTextView.CommaTokenizer();main_actv.setTokenizer(t);main_actv.setTokenizer(new SemicolonTokenizer(';'));data4 = new String[]{ "愤怒的小鸟", "汤姆猫", "落汤鸡", "牛牛", "哈巴狗", "神龙", "烤鸭","小象", "美人鱼", "九尾狐" };adapter4 = new ArrayAdapter(this,R.layout.actv_main_actv,data4);main_actv.setAdapter(adapter4);
android开发中为MultiAutoCompleteTextView控件添加其他分隔符相关推荐
- Android开发中目前流行控件和知识点总结
1.SlidingMenu 滑动菜单 应用案例:Facebook . Path 2.0 .人人.网易新闻 下载地址: https://github.com/jfeinstein10/SlidingMe ...
- Android开发之日期时间控件选择
Android开发之日期时间控件选择 文章目录 前言 一.创建弹出Layout 1.1 新建Layout,修改样式为LinearLayout 1.2 Layout中添加日期和时间控件 二.新建Date ...
- WinForm开发中针对TreeView控件改变当前选择节点的字体与颜色
WinForm开发中针对TreeView控件改变当前选择节点的字体与颜色 在B/S开发中,对TreeView控件要改变当前选中节点的颜色比较方便,其有相应的SelectedNodeChanged事件 ...
- Android开发的之基本控件和详解四种布局方式
Android中的控件的使用方式和iOS中控件的使用方式基本相同,都是事件驱动.给控件添加事件也有接口回调和委托代理的方式.今天这篇博客就总结一下Android中常用的基本控件以及布局方式.说到布局方 ...
- Visual Studio开发MFC项目OCX控件添加使用控件方法
1.在Windows系统中注册OCX控件 在OCX控件目录,右键新建一个文本文档,将文件名和扩展名改为"双击注册.bat",添加如下注册脚本: cd /d %~dp0 RegSvr ...
- 为.net中的ListBox控件添加双击事件
我在用dotnet做一个项目的过程中,遇到了一个ListBox的问题:通过在一个ListBox中双击,把选中的项添加到另一个ListBox中,但ListBox控件本身并没有该事件,那么如何实现呢?我就 ...
- Android开发三:常用控件1--TextView、EditText、Button
上一节写到android的工程目录结构,这一节继续,开始学习控件,中间的跨度挺大,关于Activity和intent的知识我就略过了,原因很简单,网上的关于那个的资料特别多,而且理论的东西我这都是了解 ...
- Android开发 第2课 控件TextView、Plain Text、ImageView、 Button、ImageButton以及点击事件
控件 TextView 显示文本 Plain Text 输入文本 //将布局xml文件引入到activity当中setContentView(R.layout.activity_main);<! ...
- Android开发--RadioButton和CheckBox控件的使用
在Android的开发中可能会用到RadioButton和CheckBox这两个控件,如果你对MFC开发熟悉的话,相信对这两个控件并不陌生,它们的形状也都是一样的,RadioButton是圆形单选按钮 ...
最新文章
- 2021-7-14 深度学习服务器Linux终端网络训练training(顶会ECCV网络BiSeNet)
- ts文件编译后变量在vscode里报错
- 学习JavaScript你必须掌握的8大知识点
- 【网易出品】2019不容错过的泛娱乐创新峰会来了!
- SQL Server表分区
- 客户端网络pomelo学习笔记 (3) node.js 与 c 客户端 Diffie-Hellman 密钥交换算法的实现客户端网络...
- Java编程语言的历史和未来
- 信息学奥赛C++语言:找第一个只出现一次的字符
- angularjs详解
- 为保证云应用及虚拟串口功能正常使用,请务必下载安装Windows系统环境补丁
- ESP_Easy BME280 WIFI MQTT传感器制作
- C语言入门练习— —累乘
- 基于docker的test-containers环境百宝箱
- Cocos2dx中Lua游戏性能优化指南
- iscsi btrfs 扩容操作
- 课程实训-校园导游系统
- php js实现流程图,详解js中构造流程图的核心技术JsPlumb(2)_javascript技巧
- python画log图
- 【FFH】如何在鸿蒙系统上进行抓包测试
- Pulmonary--Detection4