Android實現登入郵箱的自動補全功能
先看下效果圖:
只要輸入到@符,就會開始聯想郵箱,樣式可以自己定義。
下面看下主要的程式碼:
//這個就是我們繼承自MultiAutoCompleteTextView實現我們自定義的郵箱聯想元件
public class MailBoxAssociateView extends android.support.v7.widget.AppCompatMultiAutoCompleteTextView { public MailBoxAssociateView(Context context) { super(context); } public MailBoxAssociateView(Context context, AttributeSet attrs) { super(context, attrs); } public MailBoxAssociateView(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); } @Override public boolean enoughToFilter() { // 如果字元中包含'@'並且不在第一位,則滿足條件 return getText().toString().contains("@") && getText().toString().indexOf("@") > 0; } }
指定從哪個地方開始聯想
public class MailBoxAssociateTokenizer implements MultiAutoCompleteTextView.Tokenizer { @Override public int findTokenEnd(CharSequence text, int cursor) { int i = cursor; int len = text.length(); while (i < len) { if (text.charAt(i) == '@') { return i; } else { i++; } } return len; } @Override public int findTokenStart(CharSequence text, int cursor) { int index = text.toString().indexOf("@"); if (index < 0) { index = text.length(); } if (index >= findTokenEnd(text, cursor)) { index = 0; } return index; } @Override public CharSequence terminateToken(CharSequence text) { int i = text.length(); while (i > 0 && text.charAt(i - 1) == ' ') { i--; } if (i > 0 && text.charAt(i - 1) == '@') { return text; } else { if (text instanceof Spanned) { SpannableString sp = new SpannableString(text); TextUtils.copySpansFrom((Spanned) text, 0, text.length(), Object.class, sp, 0); return sp; } else { return text; } } } }
<fashion.test.com.email.MailBoxAssociateView android:id="@+id/imageviewedittextone" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginLeft="25dp" android:layout_marginRight="25dp" android:layout_marginTop="67dp" android:hint="地址" android:paddingLeft="5dp" android:popupBackground="@android:color/darker_gray" android:singleLine="true" android:textColor="@android:color/black" android:textColorHint="@android:color/holo_blue_bright" android:textSize="16sp" />
主程式碼
public class MainActivity extends AppCompatActivity { MailBoxAssociateView view; private String[] email_sufixs = new String[]{"@qq.com", "@163.com", "@126.com", "@gmail.com", "@sina.com", "@hotmail.com", "@yahoo.cn", "@sohu.com", "@foxmail.com", "@139.com", "@yeah.net", "@vip.qq.com", "@vip.sina.com"}; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); view = findViewById(R.id.imageviewedittextone); MailBoxAssociateTokenizer mailBoxAssociateTokenizer = new MailBoxAssociateTokenizer(); ArrayAdapter<String> adapter = new ArrayAdapter(this, android.R.layout.simple_dropdown_item_1line, email_sufixs); view.setAdapter(adapter); view.setTokenizer(mailBoxAssociateTokenizer); } }
相關推薦
Android實現登入郵箱的自動補全功能
先看下效果圖: 只要輸入到@符,就會開始聯想郵箱,樣式可以自己定義。 下面看下主要的程式碼: //這個就是我們繼承自MultiAutoCompleteTextView實現我們自定義的郵箱聯想元件 public class MailBoxAssociateView
第三百六十八節,Python分布式爬蟲打造搜索引擎Scrapy精講—elasticsearch(搜索引擎)用Django實現搜索的自動補全功能
技術 django 分布 全功能 -s col ron 搜索 創建 第三百六十八節,Python分布式爬蟲打造搜索引擎Scrapy精講—用Django實現搜索的自動補全功能 elasticsearch(搜索引擎)提供了自動補全接口 官方說明:https://www
jupyter notebook自動補全功能實現
Jupyter notebook使用預設的自動補全是關掉的。要開啟自動補全,需修改預設配置。 命令列中輸入:ipython profile create 以上命令會在~/.ipython/profile_default/目錄下生成ipython_config.py和ipython_kern
Ajax實現搜尋引擎自動補全功能
上程式碼: 搜素框 Search <input type="text" name="name" class="inputtable" id="name" />
Jquery實現自動補全功能
今天因為公司全去搞活動了,所以在網上看了一會兒jquery,在這裡詳細介紹一下基於jquery的autoComplete的實現。 首先,向大家看下自己實現的最簡單的結果: ![簡單效果](https://img-blog.csdn.net/201
【輸入智慧提示功能】PHP+jQuery實現自動補全功能
前面手工寫了一個下拉自動補全功能,寫的簡單,只實現了滑鼠選擇的功能,不支援鍵盤選擇。由於專案很多地方要用到這個功能,所以需要用心做一下。發現select2這個外掛的功能可以滿足當前需求。 在使用jquery外掛select2的過程中遇到了一些疑惑,無論是穿json資料還
開啟mac terminal 命令/路徑自動補全功能
terminal 自動 menu 技術分享 bsp con 命令行 win big 用慣了windows命令行工具的按Tab自動補全路徑功能後,在mac terminal上敲命令很不習慣。其實mac terminal也有這個功能。 在命令行輸入nano .inputrc
使用百度地圖實現詳細地址自動補全
默認 tro int() div inner 使用 wid type 實現 <!DOCTYPE html> <html> <head> <meta name="viewport" content="initial-scal
使用百度地圖實現詳細地址自動補全(補全bug''事件只能綁定到一個上的問題')
item 頁面 tid col border nconf complete ane result loadMapAutocomplete("suggestId","searchResultPanel"); loadMapAutocomplete("suggest
pycharm代碼自動補全功能
har hit png parent bnl padding ans charm orm pycharm具有代碼自動補全的功能。無意中將其功能關閉,百度了好久才解決掉,所以把這次失誤記錄下來。那麽我們怎麽打開呢?在軟件的左上角找到File-》Power Save Mode,
【easyui-combobox】下拉菜單自動補全功能,Ajax獲取遠程數據源
combo -c -o efi 字段 data app script resp 這個是針對easyUI的下拉菜單使用的,Ajax獲取遠程數據源 HTML 頁面 <input id="uname" name="uname" class="easyui-combo
Mac上git自動補全功能
怎麽 pro 執行 發現 文件中 -o 命名 重啟 vpd 在Mac上安裝了git之後,發現命令不能自動補全,使用起來非常不方便,本文介紹怎麽讓git命令能夠自動補全。 確保bash能夠自動補全在終端(本文使用的是OS X的終端)執行如下命令: brew list 看看是否
jquery的輸入框自動補全功能+ajax
image -- spa 數據 adding box utf 分類 .com jquery的輸入框自動補全功能+ajax 2017年05月10日 18:51:39 辣姐什麽鬼 閱讀數:1461 標簽: web前端 更多 個人分類: web前端
Eclipse自動補全功能輕松設置
自動提示 net img ces 自動補全 會有 tails trigger csdn Eclipse自動補全功能輕松設置 1.打開Eclipse->Window->Perferences 2.找到Java下的Editor下的Content Assist,右邊
eclipse自動補全功能的缺陷
這周在做一些程式碼的重構,在重構的過程中,踩了一個eclipse的大坑!這裡記錄一下 在eclipse裡寫java程式碼,你寫好方法名字,再來個回車,eclipse會自動幫你把方法的引數給補全,補全的引數跟你在補全方法定義的引數名字“一致”,即我認為的效果是這樣的 p
kubectl命令自動補全功能
share -o ffffff img water process 避免 shadow 命令補全 我們在管理k8s集群的時候,避免不了使用kubectl命令工具,但是該命令還是挺復雜的,使用中也記不住那麽多的api選項,故這裏介紹一下kubectl命令補全工具的安裝。 1:
在eclipse中設定編碼自動補全功能
如果你用過Visual Studio的自動補全功能後,再來用eclipse的自動補全功能,相信大家會有些許失望。 但是eclipse其實是非常強大的,eclipse的自動補全沒有VS那麼好是因為eclipse的補全功能用的是預設設定。你只需要稍微修改一下就行了。 最簡單的修改方式是:Wi
微信小程式搜尋框自動補全功能
▶動態效果圖◀ ▶效果涉及到的input屬性◀ focus Boolean false 獲取焦點 bindinput &nb
PySide QLineEdit自動補全功能
#-*- coding:utf-8 -*- from PySide.QtGui import * from PySide.QtCore import * import math import sys import re import os impor
Ajax+Json實現百度自動補全
search.jsp <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <% String path = request.getContextPath();