不过测试的时候发现有些许bug,并且在华为手机上删除话题不能被选中,于是就基于参考帖子的实现思路,对其中一些东西进行了修改,并适配了华为(原因是通过 KeyCode==KeyEvent.KEYCODE_DEL竟然监听不到华为个别机型的删除键)手机.
1.通过onSelectionChanged()监听光标的位置,来判断光标是否被选中在话题文字内部,如果在话题内部,则将光标定位到话题结束处.
2.添加addTextChangedListener(),监听文字变化.如果是删除文字动作,则遍历TEditText内部的list,判断是否有话题,如果有并且删除的是话题,则对话题进行选中.最后,刷新TEditText的UI展示.
如图1是添加话题的效果
图2是话题被选中的效果
源码和TEditText使用访问我
建立代码创建。1.首先建立好两个activity,取名分别为activity_main和activity_display_message
2.在在第一个activity的布局文件(content_main.xml)中创建一个编辑框(EditText)和一个按钮(Button),并在按钮中设置触发事件sendMessage
3.在MainActivity.java下声明一个sendMessage方法
4.在我们创建的第二个Activity的布局文件(activity_display_message.xml)下创建一个文本框(TextView)并设置id
5.打开DisplayMessageActivity.java在onCreat方法中添加代码
这样就实现了一个简单的、线性布局下的编辑框向文本框传输数据的简单功能。
这个简单,你在界面用ScrollView布局,里面用一个RelativeLayout铺满父窗口,RelativeLayout用布局,居下,这样,当获取焦点的时候,就会自动上去了,
还需要在manifest文件中,对activity设置android:windowSoftInputMode="stateHidden|adjustResize"
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)